Regex 正则表达式查找方括号内的内容,但有一些例外:
我想创建一个正则表达式来查找方括号内的内容,但有一些例外: 例如: 我使用了这个正则表达式Regex 正则表达式查找方括号内的内容,但有一些例外:,regex,Regex,我想创建一个正则表达式来查找方括号内的内容,但有一些例外: 例如: 我使用了这个正则表达式 \[((?!')[^]]*)\] 它适用于前2个条件,但不适用于其他2个条件。您可以在负前瞻断言中添加$,并断言不能匹配任何整数: \[((?!['$]|\d+\])[^]]*)\] 说明: \[匹配[ 第1组中的捕获: ?!除非以下内容与此处匹配:或者。。。 [“$]其中一个字符”或$ |或 \d+\]一个正整数,后跟] 前瞻断言的结束 [^]]*匹配除右括号外的任意数量的字符 第1组结束 \]匹
\[((?!')[^]]*)\]
它适用于前2个条件,但不适用于其他2个条件。您可以在负前瞻断言中添加$,并断言不能匹配任何整数:
\[((?!['$]|\d+\])[^]]*)\]
说明:
\[匹配[
第1组中的捕获:
?!除非以下内容与此处匹配:或者。。。
[“$]其中一个字符”或$
|或
\d+\]一个正整数,后跟]
前瞻断言的结束
[^]]*匹配除右括号外的任意数量的字符
第1组结束
\]匹配]
测试它。您可以在负前瞻断言中添加$,并断言不能匹配任何整数:
\[((?!['$]|\d+\])[^]]*)\]
说明:
\[匹配[
第1组中的捕获:
?!除非以下内容与此处匹配:或者。。。
[“$]其中一个字符”或$
|或
\d+\]一个正整数,后跟]
前瞻断言的结束
[^]]*匹配除右括号外的任意数量的字符
第1组结束
\]匹配]
测试它。您可能完全可以避免负面展望:
\[[^]'$\d]*\]
您可能完全可以避免负面展望:
\[[^]'$\d]*\]
这个正则表达式可以完成这项工作
\[([^'$\d]+?)\]
说明:
\[与文字[符号]匹配。
捕获组
[^'$\d]+?匹配任何非文字或$or\d的字符一次或多次。?在+之后进行不情愿的非贪婪匹配。
\]匹配文字]符号。
这个正则表达式可以完成这项工作
\[([^'$\d]+?)\]
说明:
\[与文字[符号]匹配。
捕获组
[^'$\d]+?匹配任何非文字或$or\d的字符一次或多次。?在+之后进行不情愿的非贪婪匹配。
\]匹配文字]符号。
对不起,我忘了提出4个条件。它适用于前3个条件对不起,我忘了设置4个条件。它适用于前3个条件,您需要定义括号之间允许的确切内容。为什么abc合法而不是0?[0]是整数它可以是任何整数请精确。括号之间到底允许什么?@nitinjain那么匹配的字符串可以包含任何数字吗?没有数字?只有告诉人们要匹配的内容,才能得到正确的正则表达式。要匹配[1a]还是[a1]?它们都不是整数。您需要定义括号之间到底允许什么。为什么abc合法而不是0?[0]是整数它可以是任何整数请精确。括号之间到底允许什么?@nitinjain那么匹配的字符串可以包含任何数字吗?没有数字?只有告诉人们要匹配的内容,才能得到正确的正则表达式。要匹配[1a]还是[a1]?它们都不是整数。小心,在字符串foo[bar]baz[bam]boom中,它将匹配[bar]baz[bam]。小心,在字符串foo[bar]baz[bam]boom中,它将匹配[bar]baz[bam]。