正则表达式非贪婪命名捕获组
Regex non-greedy named capturing groups
我需要解析下面的文本并读取 id 和 name 的值,name 是可选的。我得到 'txt" name="thistext' 作为 id 的值。
input id="txt" name="thistext"
这是我正在使用的正则表达式 -
input\s+id="(?<id>.*)("+?)(?:(\s+name="(?<name>.*)(.*?")))?
完整比赛 0-30 input id="txt" name="thistext"
小组 id
10-29 txt" name="thistext
第 2 组 29-30 "
你的正则表达式几乎是正确的,除了你需要在你的 id
命名组中进行非贪婪捕获并将你的正则表达式更改为此,
input\s+id="(?<id>.*?)("+?)(?:(\s+name="(?<name>.*)(.*?")))?
此外,您的正则表达式过于复杂,您可以这样简化,但毫无用处,
input\s+id="(?<id>[^"]*)"(?:\s+name="(?<name>[^"]*)")?
我需要解析下面的文本并读取 id 和 name 的值,name 是可选的。我得到 'txt" name="thistext' 作为 id 的值。
input id="txt" name="thistext"
这是我正在使用的正则表达式 -
input\s+id="(?<id>.*)("+?)(?:(\s+name="(?<name>.*)(.*?")))?
完整比赛 0-30 input id="txt" name="thistext"
小组 id
10-29 txt" name="thistext
第 2 组 29-30 "
你的正则表达式几乎是正确的,除了你需要在你的 id
命名组中进行非贪婪捕获并将你的正则表达式更改为此,
input\s+id="(?<id>.*?)("+?)(?:(\s+name="(?<name>.*)(.*?")))?
此外,您的正则表达式过于复杂,您可以这样简化,但毫无用处,
input\s+id="(?<id>[^"]*)"(?:\s+name="(?<name>[^"]*)")?