正则表达式与多个或条件匹配
问题描述:
我想用RegEx搜索产品参考的所有匹配项。该产品参考了带有“XXV-”的万能星,后面跟着一个数字,有时还带有一个或两个字符。一些例子:“XXV-1234-AB”,“XXV-1232”,“XXV-12-X”。比赛的唯一主力是开始。正则表达式与多个或条件匹配
在此示例:
<div>Reference to search is XXV-1234-BH</div>
<div>Other reference to search is XXV-1235-VC
</div>
<div>And XXV-1236-HG
also</div>
我需要数学的所有的树代码,用一个正则表达式更好。
我试着用:(?= XXV - )。
- *(= <?),只有匹配的第一个?
- (= XXV - ?)。?*(= \ N 2)匹配,而是与</DIV>的第一
它更多钞票,以匹配 “<” 或“\ N“?
谢谢你的时间!
答
为什么你的问题关于'匹配'<“或”\ n“'?你确切知道格式应该是什么,所以只需为它构建一个正则表达式。
产品参考文献总是带有“XXV-”,后跟一个数字,在某些情况下带有一个或两个字符。
XXV-\d+(-[A-Z]{1,2})?
[A-Z]
手段 “A
和Z
之间的任何字符”:
这可以通过匹配。如果您想要包含其他字符,例如小写,你可以使用:[a-zA-Z]
。
{1,2}
意味着前一模式的1-2(在这种情况下,[A-Z]
)。?
使捕获组成为可选。\d
表示任何数字,即相当于[0-9]
。
你知道_exactly_什么产品参考的样子(“XXV-”,那么数字,那么也许1或2个字符),那么,为什么你使用'。*?',并用_unknown_界定它像“(?=
你说得对,并且Tom Lord Works提供的解决方案! – Duefectu