正则表达式

常见量词:*+?

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

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

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

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

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

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

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

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

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

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

posted @ 2024-03-13 15:36  惊朝  阅读(4)  评论(0编辑  收藏  举报