使用REGEX选择双引号(不是引号本身)之间的所有文本

时间:2014-12-01 04:15:41

标签: regex shell

使用正则表达式,我想知道如何选择双引号内的所有文本但不选择双引号。

例如,我希望表达式选择“domain.com”而不是"domain.com"

编辑:这将在Shell脚本中使用,但我目前正在Notepad ++中对此进行测试

2 个答案:

答案 0 :(得分:1)

你可以使用环顾四周

(?<=").*?(?=")

示例:http://regex101.com/r/oX7xR3/1

  • (?<=")断言遵循"。引擎不会使用",但会检查它是否匹配

  • (?=")断言该字符串后跟"

使用示例:

$ echo \"domain.com\" | grep -oP '(?<=").*?(?=")'
domain.com

答案 1 :(得分:0)

希望我理解这个问题。这将捕获双引号内的任何内容(不带引号):

"(.*)"