正则表达式与多个OR条件匹配结束

时间:2017-10-04 09:02:05

标签: regex

我想使用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>

我需要对所有树代码进行数学计算,最好使用单个正则表达式。

我尝试:

  1. (?= XXV - )。*?(?=&lt;)只与第一个匹配。
  2. (?= XXV - )。*?(?= \ n)匹配所有,但&lt;第一个
  3. 的/ div&gt;

    可以匹配&#34;&lt;&#34;或&#34; \ n&#34;?

    谢谢你的时间!

1 个答案:

答案 0 :(得分:2)

为什么您的问题与#34;匹配&#34;&lt;&#34;或&#34; \ n&#34;&#39;?你确切知道格式应该是什么,所以只需为它构建一个正则表达式。

  

产品参考总是以&#34; XXV - &#34;接下来是一个数字,在某些情况下还有一个或两个字符。

这可以通过以下方式匹配:

XXV-\d+(-[A-Z]{1,2})?
  • [A-Z]表示&#34; AZ&#34;之间的任何字符。如果要包含其他字符,例如小写,您可以使用:[a-zA-Z]
  • {1,2}表示上一个模式中的1-2个(在本例中为[A-Z])。
  • ?使捕获组可选。
  • \d表示任何数字,即相当于[0-9]

Here is a demo, with some test cases