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

时间:2017-07-11 16:17:58

标签: javascript php regex

我正在使用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') = '(.*?)' )来提取时间戳。任何帮助表示赞赏

1 个答案:

答案 0 :(得分:2)

如果括号位于您要匹配的实际字符串中,则需要使用' \'为了匹配。

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

将匹配示例

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

此外,根据您要匹配的查询中的其他内容,您可以简化正则表达式以获取这样的引用时间戳:

'(\d{8})'

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