我有这个字符串:
我构建了这个表达式:
我想在第一个' - '处将该字符串分割,以找到'city'(仅为示例单词,也可以是其他单词)。另外,还要找到' - '后面的其余文本。City - This is some text. This is some more - and continues here.
我构建了这个表达式:
(^[\D\W\S]*)( - )([\D\W\S]*)
但是这个方法找到的是最后一个 ' - ' 的位置,而不是第一个。
如何停止在第一个匹配的位置?
[\D\W\S]
的?它的意思是“一个既不是数字也不是字母数字(因为字母数字已经包括了数字),也不是空白字符的字符”。因此,它匹配任何字符,在正则表达式中,这就是点(.
:任何字符(除了换行符))的作用。除非你在使用JavaScript,否则如果没有选项允许你指定单行模式,你可能需要使用[\S\s]
,这样点就真的匹配任何字符了。 - Tim Pietzcker