常见量词:*+?

  • .表示匹配除\n之外的任意的一个字符

  • *表示匹配前一个字符的零次到多次

  • +表示匹配前一个字符的一次到多次

  • ?表示匹配前一个字符的零次或一次

  • ()表示将括号中的字符串作为一个整体,例如:(xyz)+将匹配 xyz 整体1次以上,如xyzxyz

  • ^表示匹配字符串开始的位置,在[]里面的^表示取反

  • []表示字符集合,例如[^"]*表示除双引号之外的内容[^"]表示匹配除双引号之外的任意字符"[^"]"表示被双引号包裹的任意字符

  • [".+]匹配的是双引号、点号或加号中的任意一个字符。

假设有一个字符串:"4":"something", "6":"anything",,要你找出里面所有的键值对,应该如何书写正则表达式?初学者可能写出答案1的表达式,但是下面的答案2是对的
答案1:(".+":".+"), 答案2:(".+?":"[^"]+?")

贪婪匹配:匹配最长可能的字符串,非贪婪匹配: 匹配最短可能的字符串
要判断一个量词是否是贪婪匹配,需要观察量词的后面是否跟着一个问号。在正则表达式中,问号用于将量词转换为非贪婪匹配。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。