在正则表达式中,可以使用字符集(character class)来匹配特定的字符。为了忽略带连字符的单词,可以使用以下正则表达式:
(?<=\s|^)[^\s-]+(?:-[^\s-]+)*(?=\s|$)
这个正则表达式的含义是:
(?<=\s|^)
:匹配空格或字符串开头,但不包括空格和字符串开头在内。[^\s-]+
:匹配一个或多个非空格和非连字符的字符。(?:-[^\s-]+)*
:匹配零个或多个以连字符开头的非空格和非连字符的字符序列。(?=\s|$)
:匹配空格或字符串结尾,但不包括空格和字符串结尾在内。这个正则表达式可以匹配一个或多个单词,其中单词可以包含连字符,但不会将连字符前后的字符分开。例如,对于字符串 "hello-world this is a test-string",这个正则表达式会匹配 "hello-world"、"this"、"is"、"a"、"test-string" 这五个单词。
领取专属 10元无门槛券
手把手带您无忧上云