如何捕捉粗体部分:
" _id":" 12345abcd ",
" _rev":" 1- abti-2745 ",
"问题":" 你多大了?",
我需要在一个RegEx表达式上执行此操作。
这是我到目前为止所做的:
/("_id": "(.*?)")|("_rev": "(.*)")/is
或
/"_id": "(.*)",.*?"_rev": "?(.*)"?,/is
答案 0 :(得分:0)
如果您不想使用。前瞻,后瞻,你可以试试:
"[^"]*":\s"([^"]*)",
粗体区域位于第一个也是唯一一个捕获组中。
答案 1 :(得分:0)
你可以试试下面的正则表达式,
"_?(?:id|rev|question)":\s*"(?:.*?-)?([^"]*)",
<强>解释强>
_?
可选的下划线符号。(?:id|rev|question)":
非捕获组,其匹配字符串id
或rev
或question
以及以下":
个字符。\s*
匹配零个或多个空格字符。 (?:.*?-)?
最短的匹配到第一个 - 符号。非捕获组将其作为可选组之后的?
。([^"]*)
捕获任何不是"
零次或更多次的字符。",
匹配文字",
符号。