regex 如何修改正则表达式以在特殊字符串和字符之间进行搜索?

pkln4tw6  于 2023-05-30  发布在  其他
关注(0)|答案(1)|浏览(197)

我正试图写一个正则表达式来搜索一个特殊字符串和一个字符。
我有一个正则表达式:
b(\(.*?)\)
它查找“b(“和“)"之间的匹配,例如:String:az[b('0x611', '0*L3')]匹配项:b('0x611', '0*L3')
但有时候会有这样的台词:字符串:(G, f[b('0x4ed', 'S)Oi')])
在这种情况下,匹配将是:b('0x4ed', 'S),这是错误的。
我试图通过查找“b('0x4ed ','S)”和“)"之间的匹配来解决这个问题,但是当我试图将正则表达式转换为以下形式b('0x4ed', 'S)(\(.*?)\)时,它停止工作。
我怎么能摆脱这种局面呢?

sr4lhrrt

sr4lhrrt1#

用途:“not one or more singlequotes until a singlequoted”,如:'[^']+'
示例

b\('[^']+', ?'[^']+'\)

Demo on Regex101.com
PS:如果 value 可以是 empty'',则使用 zero-or-more*

b\('[^']+', ?'[^']*'\)

相关问题