[英]Regex pattern for simple text
我有一些从PDF文件转换的文本,现在我需要使用正则表达式从文本中获取特定内容。 过去我使用索引和数学来获得特定长度
这是我的文字:
1ZW6897X0327621544
每个以1Z
开头,长度为18个字符。
我尝试去Regexr.com寻求帮助,但这根本没有任何意义:
1Z[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]
这就是我的大脑处理正在阅读的内容的方式,从1Z
开始,然后在接下来的16个地方输入0-9
任何字符?
有人可以帮忙吗?
您可以使用
\b1Z[A-Z0-9]{16}\b
要么
\b1Z\w{16}\b
细节
\\b
单词边界 1Z
文字子字符串 [A-Z0-9]{16}
-16个大写ASCII字母和/或数字(请注意\\w
将与任何字母,数字和/或_
匹配,并且如果不传递RegexOptions.ECMAScript
,它将与所有Unicode匹配字母/数字,以及更多“有趣”的符号) \\b
单词边界。 如果边界是空格(即,匹配预期在字符串或空格的开头,然后在字符串或空格的结尾),则可以使用(?<!\\S)1Z[A-Z0-9]{16}(?!\\S)
模式。
在C#中,您可以将其与Regex.Matches
使用:
var results = Regex.Matches(s, @"\b1Z[A-Z0-9]{16}\b")
.Cast<Match>()
.Select(m => m.Value)
.ToList();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.