正则表达式找到""之间的字符

dav*_*ave 24 regex

如何匹配2个指定字符之间的所有字符,比如" "- > fromsdfsf " 12asdf " sdf

我只想得到12asdf.

cod*_*ict 72

您可以使用以下模式来获取它们之间的所有内容" ",包括前导和尾随空格:

"(.*?)"
Run Code Online (Sandbox Code Playgroud)

要么

"([^"]*)"
Run Code Online (Sandbox Code Playgroud)

如果要捕获除"前导和尾随空格"之外的所有内容,您可以执行以下操作:

"\s*(.*?)\s*"
Run Code Online (Sandbox Code Playgroud)

要么

"\s*([^"]*)\s*"
Run Code Online (Sandbox Code Playgroud)


Tim*_*ker 6

我建议你用

(?<=")(?:\\.|[^"\\])*(?=")
Run Code Online (Sandbox Code Playgroud)

这将仅匹配引号之间的内容(而不是引号本身),并且还正确处理字符串中的转义引号.

所以"She said, \"Hi!\"",它会匹配She said, \"Hi!\".

如果你使用的是JavaScript或Ruby(你没有提到),因此不能使用lookbehind,请使用

"((?:\\.|[^"\\])*)"
Run Code Online (Sandbox Code Playgroud)

并与捕获组合作.1.