【发布时间】:2013-04-23 11:55:29
【问题描述】:
代码
我有这个正则表达式:
data-([a-zA-Z_]+[0-9]*)=[\"']([a-zA-Z0-9_ ]*)[\"']
电流输出
如果我有这个输入:
<div data-foo="bar">
匹配项是:
- data-foo="bar"
- 富
- 酒吧
但是如果我给出这个输入:
<div data-foo="ba'r">
那么匹配项是:
- data-foo="ba'
- 富
- 巴
期望的输出
如果我有这个输入:
<div data-foo="ba'r">
那我就不匹配了:
- data-foo="ba'r"
- 富
- ba'r
【问题讨论】:
-
大多数网络语言都有内置的 HTML 解析器。诉诸正则表达式是一条危险的道路。
-
如果你正在创建一个,如果不使用正则表达式你会怎么做?
-
状态机?硬编码规则? (我真的不知道。词法分析超出了我的专业领域。)
标签: regex