我有以下文字文字
“value”:“1001174227”,“fieldLabel”:“A field”},{“value”:“我需要的价值”,“fieldLabel”:“期间”}
我的目标是使用正则表达式来提取字符串
x = b * r mod n
我尝试使用标准的开始和结束标识符使用正则表达式进行匹配,方法是拉中间的文本(请参阅下面的我的正则表达式),但它会拉出整个字符串。我认为这是因为重复出现的文字值。
THE VALUE I NEED
答案 0 :(得分:0)
捕获非引号:
value\":\"([^\"]*)\",\"fieldLabel\":\"Period\"
这会强制唯一匹配为紧接目标之前的value
。
表达式[^"]
表示"任何字符不是引号",因此将捕获匹配限制为仅引号之间的字符。
请参阅live demo,显示作为第1组捕获的目标输入。
使用不情愿的量词.*?
无法正常工作,因为第一个value
仍然可以匹配。
答案 1 :(得分:0)
您可以将其简化为:
"([^"]*)","fieldLabel":"Period"
根据代码的其余部分,您可能需要或不需要将"
替换为\"
。例如,您是否可以使用单引号('
)来定义正则表达式字符串,从而避免所有丑陋的反斜杠?