正则表达式
常见量词:*、+、?
-
.表示匹配除\n之外的任意的一个字符 -
*表示匹配前一个字符的零次到多次 -
+表示匹配前一个字符的一次到多次 -
?表示匹配前一个字符的零次或一次 -
()表示将括号中的字符串作为一个整体,例如:(xyz)+将匹配 xyz 整体1次以上,如xyzxyz -
^表示匹配字符串开始的位置,在[]里面的^表示取反 -
[]表示字符集合,例如[^"]*表示除双引号之外的内容,[^"]表示匹配除双引号之外的任意字符,"[^"]"表示被双引号包裹的任意字符 -
[".+]匹配的是双引号、点号或加号中的任意一个字符。
假设有一个字符串:"4":"something", "6":"anything",,要你找出里面所有的键值对,应该如何书写正则表达式?初学者可能写出答案1的表达式,但是下面的答案2是对的
答案1:(".+":".+"), 答案2:(".+?":"[^"]+?")
贪婪匹配:匹配最长可能的字符串,非贪婪匹配: 匹配最短可能的字符串
要判断一个量词是否是贪婪匹配,需要观察量词的后面是否跟着一个问号。在正则表达式中,问号用于将量词转换为非贪婪匹配。

浙公网安备 33010602011771号