Regex 正则表达式:如何匹配以括号结尾的单词&引用;
我想匹配以“')”结尾的字符串。 我使用模式:Regex 正则表达式:如何匹配以括号结尾的单词&引用;,regex,match,parentheses,Regex,Match,Parentheses,我想匹配以“')”结尾的字符串。 我使用模式: "[)]\b" or ".*[)]\b" 它应该与字符串匹配: x=main2.addMenu('Edit') 但它不起作用。怎么了?该\b仅与单词边界处的位置匹配。将其视为一个(^\w | \w$|\w\w |\w\w),其中\w是任何字母数字字符,\w是任何非字母数字字符。括号不是字母数字,因此不会与\b匹配 只需使用\)$匹配一个排列,然后是字符串的结尾,\b仅匹配单词边界处的位置。将其视为一个(^\w | \w$|\w\w |\w\w
"[)]\b" or ".*[)]\b"
它应该与字符串匹配:
x=main2.addMenu('Edit')
但它不起作用。怎么了?该\b仅与单词边界处的位置匹配。将其视为一个
(^\w | \w$|\w\w |\w\w)
,其中\w是任何字母数字字符,\w是任何非字母数字字符。括号不是字母数字,因此不会与\b匹配
只需使用
\)$
匹配一个排列,然后是字符串的结尾,\b仅匹配单词边界处的位置。将其视为一个(^\w | \w$|\w\w |\w\w)
,其中\w是任何字母数字字符,\w是任何非字母数字字符。括号不是字母数字,因此不会与\b匹配
只需使用
\)$
匹配一个paretose,后跟字符串的结尾。如果您想捕获一个以)
结尾的字符串(而不仅仅是查找尾随的)
),那么您可以在JS中使用它:
(.*?\)$)
(..)
-捕获定义的内容
*?
-将任何内容匹配到下一个元素
\)$
-字符串末尾的一个)
(需要转义)
如果您想捕获以
)
结尾的字符串(而不仅仅是查找尾随的)
),那么您可以在JS中使用:
(.*?\)$)
(..)
-捕获定义的内容
*?
-将任何内容匹配到下一个元素
\)$
-字符串末尾的一个)
(需要转义)
单词边界不明确:在单词字符之后,要求下一个字符必须是非单词字符或字符串末尾。当它位于一个非单词字符(如
)
)之后时,它需要一个单词字符(字母/数字/下划线)出现在它的后面(这里不是字符串的结尾!)
因此,有三种解决方案:
- 使用
(非单词边界):\B
(请参阅),如果*[)]\B
后跟单词字符,则不允许匹配)
- 在
多行模式下使用
(在图案开头添加*[)]$
,或添加(?m)
修饰符,请参阅)/m
- 使用替换组模拟多行模式:
(请参阅)*[)](\r?\n |$)
)
)之后时,它需要一个单词字符(字母/数字/下划线)出现在它的后面(这里不是字符串的结尾!)
因此,有三种解决方案:
- 使用
(非单词边界):\B
(请参阅),如果*[)]\B
后跟单词字符,则不允许匹配)
- 在
多行模式下使用
(在图案开头添加*[)]$
,或添加(?m)
修饰符,请参阅)/m
- 使用替换组模拟多行模式:
(请参阅)*[)](\r?\n |$)
\)\b
?在JS中,可能是这样:(.*?\)$
-捕获字符串末尾的所有内容,直到一个转义“)”。^.*?\)$
是您想要的。我猜谢谢您的回复,这个“)”不起作用。我在这里试过:你用什么语言?为什么不直接使用\)\b
?在JS中,可能是这样:(.*?\)$
-捕获字符串末尾的所有内容,直到一个转义“)”。^.*?\)$
是您想要的。我猜谢谢您的回复,这个“)”不起作用。我在这里试过:谢谢,这是很好的解释。我使用这个网站:。我试过那个“$”,它很管用。但是如果我有多行字符串,那么我将匹配最后一行。所以也许我必须先把多行分解成单独的行。如果你想写一个匹配多行的正则表达式,那么你需要添加一个修饰符,这取决于你使用的语言。看问题。谢谢,这是很好的解释。我使用这个网站:。我试过那个“$”,它很管用。但是如果我有多行字符串,那么我将匹配最后一行。所以也许我必须先把多行分解成单独的行。如果你想写一个匹配多行的正则表达式,那么你需要添加一个修饰符,这取决于你使用的语言。见问题。