繁体   English   中英

正则表达式-如何在括号内的引号中捕获文本

[英]Regex - how to capture text in quotes within parentheses

我正在使用http://www.rubular.com/测试多少模式匹配将起作用。 如果我有诸如AND TO_CHARCREATE_TS, 'yyyymmdd' = '20140810' ,则正则表达式AND TO_CHARCREATE_TS, yyyymmdd = '(.*?)'使我可以提取时间戳。 但是,当引入诸如AND (TO_CHAR(CREATE_TS, 'yyyymmdd') = '20140810') ,我无法获取正则表达式AND (TO_CHAR(CREATE_TS, 'yyyymmdd') = '(.*?)' )以提取时间戳记。 任何帮助表示赞赏

如果括号在您要匹配的实际字符串中,则需要使用“ \\”对其进行转义以使其匹配。

AND \(TO_CHAR\(CREATE_TS, 'yyyymmdd'\) = '(.*?)'\)

将与示例匹配

AND (TO_CHAR(CREATE_TS, 'yyyymmdd') = '20140810')

此外,根据匹配的查询中发生的其他事情,您可以简化正则表达式以仅捕获带引号的时间戳,如下所示:

'(\d{8})'

它将匹配单引号内的任何8位数字

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM