正则表达式 “([.-])”是什么意思

正则表达式 “([.-])”是什么意思?(匹配任意字符或‘-’,我测试了字符串“-sdaf”也能匹配“-”字符,就不太明白什么意思。而且任意字符匹配没有意义了啊)?

解释:

“.”出现在字符组中时,就不是元字符了,就表示点号本身。在字符组中的“-”只有两边是合法的字符区间是,才表示一个字符序列,例如“a-z”这样。你这个表达式应该就是能匹配点号或减号,没别的特别。还有,正则表达式在不同的运行环境中有细微差别。“()”在大多数情况下是元字符,表示捕获匹配,但在vim中,两边括号都要转义,“\(\)”这样才表示捕获。

 

  \b定位符规定匹配模式必须出现在目标字符串的开头或结尾的两个边界之一。

比如表达式‘/\bst\b/’可以匹配‘stub’或‘best’,但不能匹配‘industry’。

 

所以/\b\w{2}\b/可以匹配任意以两个字母,数字或下划线字符为串头或串尾的串,比如'3com','a_b', 'never let'等,但不能匹配‘I hit u’或‘&abc%’

你可能感兴趣的:(正则表达式)