正则表达式以匹配第一次出现的
regex to match up to first occurrence of
我有这段文字:
{{Infobox Item
|name = value
|prop2 = value
|prop3 = value
}}
它来自 mediawiki 模板。
我有以下正则表达式:
preg_match('/\{\{Infobox Item.+\n\}\}\n/s', $text, $ra);
我正在使用 PHP。
我想匹配从 {{Infobox Item
到 }}
的第一次出现,它总是单独在一行上。上面的正则表达式将从 {{Infobox Item
匹配到另一个 {{ }}
样式块的末尾,这不是我想要的。我怎样才能做到这一点?
代码
preg_match('/{{Infobox Item.+?^}}$/sm', $subject, $regs)
正则表达式
{{Infobox Item.+?^}}$
https://regex101.com/r/gC0oV1/1
人类可读
# {{Infobox Item.+?^}}$
#
# Options: Case sensitive; Exact spacing; Dot matches line breaks; ^$ match at line breaks; Greedy quantifiers
#
# Match the character string “{{Infobox Item” literally (case sensitive) «{{Infobox Item»
# Match any single character «.+?»
# Between one and unlimited times, as few times as possible, expanding as needed (lazy) «+?»
# Assert position at the beginning of a line (at beginning of the string or after a line break character) (line feed) «^»
# Match the character string “}}” literally «}}»
# Assert position at the end of a line (at the end of the string or before a line break character) (line feed) «$»
我有这段文字:
{{Infobox Item
|name = value
|prop2 = value
|prop3 = value
}}
它来自 mediawiki 模板。
我有以下正则表达式:
preg_match('/\{\{Infobox Item.+\n\}\}\n/s', $text, $ra);
我正在使用 PHP。
我想匹配从 {{Infobox Item
到 }}
的第一次出现,它总是单独在一行上。上面的正则表达式将从 {{Infobox Item
匹配到另一个 {{ }}
样式块的末尾,这不是我想要的。我怎样才能做到这一点?
代码
preg_match('/{{Infobox Item.+?^}}$/sm', $subject, $regs)
正则表达式
{{Infobox Item.+?^}}$
https://regex101.com/r/gC0oV1/1
人类可读
# {{Infobox Item.+?^}}$
#
# Options: Case sensitive; Exact spacing; Dot matches line breaks; ^$ match at line breaks; Greedy quantifiers
#
# Match the character string “{{Infobox Item” literally (case sensitive) «{{Infobox Item»
# Match any single character «.+?»
# Between one and unlimited times, as few times as possible, expanding as needed (lazy) «+?»
# Assert position at the beginning of a line (at beginning of the string or after a line break character) (line feed) «^»
# Match the character string “}}” literally «}}»
# Assert position at the end of a line (at the end of the string or before a line break character) (line feed) «$»