如果你有一个字符串:
"hello my name is joe bloggs! I like stuff"
你如何匹配"hello my name is joe bloggs"
?我开始时:
(.+)(!)(.+)
并且在!
点,我希望它停止。
请问您能否使用.
功能回答?
由于
答案 0 :(得分:3)
您需要一个问号:
(.+?)(!)(.+)
答案 1 :(得分:3)
([^!]*)(!)(.*)
.
可能会有一些差异,通常“不”捕获“新行,而[^!]
会,但除非你的文字中有新行,否则你会赢”看到有什么不同。
答案 2 :(得分:0)
.
没有问题;您只有三个捕获组:第一个(.+)
,(!)
和第二个(.+)
。如果您只想匹配以!
结尾的行,请考虑
(.+)!
但是如果你想清楚地识别该行的每个部分,
^(.+)!.+$
同样,问题不在于.
,但如果你想要一次捕获,你应该只有一个被括号括起来的组。