我正在尝试从!
开始匹配整行文字
使用正则表达式我做了类似这样的事情:/(!\w+\s+\S+)/ig
非常接近,但只有2个字。我希望将单词与新行匹配。我也在句子中间看到扰流板的问题。实例:http://www.rubular.com/r/MXmholsDwE
答案 0 :(得分:13)
你只需要
^!.*
^
匹配行的开头(在Ruby中),!
将匹配文字!
,.*
将匹配除换行符之外的零个或多个字符(如果你使用Ruby,我假设你使用rubular网站)。
如果您使用的是Ruby以外的正则表达式,如JS,PHP或.NET,则需要指定/m
- MULTILINE - 修饰符(例如JavaScript中的/^!.*/gm
)。< / p>
答案 1 :(得分:4)
如果您想将所有内容匹配到该行的末尾:
/(!.+)/
如果您想确保其格式为!word---
:
/!\w.+/
答案 2 :(得分:1)
如果要为<br>
添加例外,则应使用正向前瞻操作符。还请注意,使用正则表达式解析HTML文档通常不是一件好事。
我认为你也应该考虑<br />
。所以,最终的reg-ex将是:
^!.+?(?=\<br\>|\<br\s*\/\>|$)
它将匹配以下示例中突出显示的部分:
!剧透样本
没有扰流板 !剧透
!更多剧透&lt; br&gt;单词
!扰乱新的&lt; br /&gt;线
在句子中间的扰流者
答案 3 :(得分:1)
答案 4 :(得分:0)
答案 5 :(得分:0)
另一种解决方案。
^!\b.*$
哪里
^
行首
!
比赛开始
\b.*$
下一行