javascript - 正则表达式字符串拆分器

标签 javascript regex

我在这里做错了什么?我正在尝试从这个“列表”中提取

ARTICLE 11 - Title AA
ARTICLE 22 Title BB
ARTICLE 33
ARTICLE 44 - Title DD
ARTICLE 55 Title EE

每篇文章的所有文章编号和标题(如果有)。 当标题存在时,“-”是可选的。

用这个正则表达式

(article)(\s*)([^\s]*)((\s*)(-)?(\s*)(.*))

我只有 4 件商品。第 33 和 44 项仅被视为一篇文章,我想这只是因为“第 33 条”没有标题。

11|Title AA
22|Title BB
33|ARTICLE 44 - Title DD
55|Title EE

请在此处查看代码:http://jsfiddle.net/Z94wf/

编辑

我期望得到的是:

11|Title AA
22|Title BB
33|
44|Title DD
55|Title EE

谢谢

最佳答案

第二个 \s* 匹配第 3 行的换行符,因此如果您更改为仅显式匹配空格和破折号,如下所示

(article)(\s*)([^\s]+)(([ -]*)(.*))

你得到了想要的结果

http://jsfiddle.net/Z94wf/37/

关于javascript - 正则表达式字符串拆分器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6511041/

相关文章:

Java 正则表达式从字符串中拆分 double

mysql - 字段中的 Django 正则表达式

javascript - 你会在你的应用程序中嵌入哪个 Javascript 引擎?

javascript - 以类似列表的方式打印树结构,存储缩进字符串(由┣,┃,┗组成)

python - 使用 python 搜索特定重复

javascript - 每第二个周期后添加换行符

regex - 使用 Notepad++、Regex 重构 CSV 数据

javascript - 我需要获取 JSON 响应的内部内容

javascript - 如何正确导入三个js库?

javascript - 将 data-id 附加到文本函数