我正在尝试使用正则表达式捕获带有特殊字符的字母数字单词。
搜索将在最多4-5个单词的小字符串上完成,并应提取一个单词。
目标字符串可以位于字符串中的任何位置,但将用空格分隔
例如:
"Bill No: THRD/20-21/110"
"CRN No: GSTASP/20-21/066"
"Identifier value: PCPL-2021-000152"
需要得到这些值
THRD/20-21/110
GSTASP/20-21/066
PCPL-2021-000152
特殊字符仅限于“/”——
.到目前为止,我所有的方法都失败了
Tags:
您可以使用前瞻来限定下一个非空间子字符串中包含
/
或-
:Demo
这只适用于
[ \t]
后面的子字符串,从字面上看,您的语句目标字符串可以位于字符串中的任何位置,但始终由空格分隔如果要在字符串的开头捕获,请删除lookback:
Demo 2
这将捕获具有定义的字符集且其中至少有一个
[/-]
的任何子字符串(以使用[ \t]
分隔符作为锚定符的效率为代价…)注意:如果在字符类中使用
-
作为文字字符,则需要对其进行转义或将其放在类的末尾。否则,-
将在字符类中定义一个范围。这是一个偷偷摸摸的bug,当正则表达式试图捕获一个文本-
时,它咬了很多人相关问题 更多 >
编程相关推荐