正则表达式 - 如何获得两个字符之间的字符串或只有一个?

时间:2014-09-08 19:20:52

标签: regex

我需要选择以下产品的SKU:

Geladeira Brastemp Inverse 422 Litros - BRE50NR
Lava-Louças Brastemp Ative! 8 Serviços - BLF08AS - 110V 

如何创建一个可以从每个字符串中获取代码的唯一正则表达式?

第一个字符串上的代码是BRE50NR,第二个字符串是BLF08AS。请注意,Lava-louça中的第二个字符串的开头是“ - ”。

3 个答案:

答案 0 :(得分:1)

您可以使用此正则表达式:

\d+ *\S+ *- *(\S+)

抓住被抓获的小组#1

RegEx Demo

答案 1 :(得分:1)

(?<=[ ]-[ ])\b[A-Z0-9]{7}\b

答案 2 :(得分:0)

你可以尝试一下,看看:

(?<= - )\w+

并准确使用匹配的内容。 如果代码没有小写,那么您甚至可以使用:

(?<= - )[A-Z0-9]+