需要找到以下模式:
我写的字母后面是一个空格,然后是三个字母数字后跟一个空格
“我ALN” “我H21” “我31M”
这些项后面跟着一个被这个表达式捕获的纬度/经度:
Dim regex As New Regex(“\ d {6} \ d {7}”)
可以合并表达式以返回看起来像的匹配:
“H21 ###### #######”
谢谢,
戴夫
答案 0 :(得分:4)
/ I([0-z] {3} \ d {6} \ d {7})/
我不知道VB,但是正则表达式可以用于说perl。
更新
鉴于提供了新的字符串..类似可能的工作(取决于对我的问题的回答)
/^[A-z] ([0-z]{3}) [A-z] [0-z]{3} L (\d{6} \d{7})/
然后将匹配匹配(匹配1包含AAA,匹配2包含Lat / Long)。
更新#2:
从OP:否模式。唯一的模式是我AAA然后在同一行4000931 0892006.你可以在表达式中添加一个OR语句
你可以添加OR,但是我不确定这是你想要的吗? 这个新的正则表达式将匹配I,后跟一个空格,后跟3个字母数字字符,然后是“任意”,以及纬度/经度。请注意,如果文件中的数据或您正在解析的任何内容与那样的行相匹配(因为它是“其他”数据,但遵循类似的模式),您可能也会注意到这一点。
/^I ([0-z]{3}) .* (\d{6} \d{7})/
答案 1 :(得分:1)
I ([a-zA-Z\d]{3} \d{6} \d{7})
匹配组1将包含三个字母数字加上您已经在其他正则表达式中捕获的数字。
编辑:不起作用,因为问题中描述的模式并未反映作者首先所说的内容。真正意味着在评论中首先澄清了。