需求:如果要匹配出(括号中的文本)
中括号中的文本
的话,需要用到以下一些语法
贪婪匹配所有字符
.*
eg:(te(s)t)
,使用(.*)
会匹配出(te(s)t)
,.*
会从第一个(
一直读取到最后一个)
非贪婪匹配所有字符
.*?
eg:(te(s)t)
,使用(.*)
会匹配出(te(s)
,.*
会从第一个(
一直读取到下一个)
匹配但不包含前后字符
- 匹配exp后面的字符
(?<=exp)
- 匹配exp前面的字符
(?=exp)
eg:(te(s)t)
,exp为\(
和\)
,使用(?<=\().*(?=\))
会匹配出te(s)t
,会匹配出()
之中通过.*
匹配到的字符串
ps:如果换为(?<=\().*?(?=\))
,则会匹配出te(s
更多信息,可以查阅菜鸟教程的这篇文章
https://www.runoob.com/regexp/regexp-syntax.html
网友评论