正则表达式匹配整线

时间:2016-05-05 13:57:49

标签: regex

我正在尝试从!开始匹配整行文字 使用正则表达式我做了类似这样的事情:/(!\w+\s+\S+)/ig非常接近,但只有2个字。我希望将单词与新行匹配。我也在句子中间看到扰流板的问题。实例:http://www.rubular.com/r/MXmholsDwE

6 个答案:

答案 0 :(得分:13)

你只需要

^!.*

请参阅updated regex demo

^匹配行的开头(在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;线
  
  在句子中间的扰流者

示例:https://regex101.com/r/nZ0oY9/3

答案 3 :(得分:1)

您可以将.+正则表达式与global标志一起使用以匹配单独的整行。这是一个示例:

enter image description here

答案 4 :(得分:0)

您也可以使用

^![^\n]*

说明:

^-字符串的开头

!-从字面上匹配!

[^\n]*-匹配零个或多个除换行符以外的字符

Demo

Rubular demo

答案 5 :(得分:0)

另一种解决方案。

^!\b.*$

哪里

^行首

!比赛开始

\b.*$下一行