我试图使用正则表达式匹配以!
开头的整行文本。
我写了类似于这样的表达式:/(!\w+\s+\S+)/ig
,它可以匹配两个单词,但仅限于两个单词。我想匹配直到换行符的单词。此外,我发现在句子中间有隐藏部分会有问题。
我试图使用正则表达式匹配以!
开头的整行文本。
我写了类似于这样的表达式:/(!\w+\s+\S+)/ig
,它可以匹配两个单词,但仅限于两个单词。我想匹配直到换行符的单词。此外,我发现在句子中间有隐藏部分会有问题。
你只需要
^!.*
请查看更新的正则表达式演示
^
(在Ruby中)匹配行的开头,!
将匹配一个字面上的!
,.*
将匹配除换行符以外的零个或多个字符(如果您使用rubular网站,则我假设您正在使用Ruby)。
如果您使用的是Ruby之外的其他正则表达式版本,例如JS、PHP或.NET,则需要指定/m
-MULTILINE-修改器(例如JavaScript中的/^!.*/gm
)。
如果您想匹配行尾的所有内容:
/(!.+)/
如果您想确保它遵循格式 !word---
:
/!\w.+/
^!\b.*$
在哪里
^
行首
!
匹配起始
\b.*$
匹配行末的其余部分
<br>
添加一个例外,您应该使用正向前瞻运算符。请注意,使用正则表达式解析HTML文档通常不是一件好事。<br />
。因此,最终的正则表达式应该是:^!.+?(?=\<br\>|\<br\s*\/\>|$)
它将匹配下面示例中突出显示的部分:
!剧透示例
没有剧透
!剧透
!带更多剧透的 <br> 单词
!剧透直到新 <br /> 行
句子中的剧透! 中间
^!.[^<]*
- Szmerd