我有一些字符串,它们的格式大致是这样:
String blah = "Blah bleh bluh Id. 24 bleh" ;
String bleh = "Foo Bar Foo Id 24" ;
String foo = "Blah Foo Bleh Bar Tag.93 foo" ;
String bar ="Junk Jibberish Id.93" ;
当我有一些文本时,最后是一些字符串,这些字符串包含在一组可能的标识符(ID,Id,标识符,标记等)中,然后是无空格,句点和空格,只是句点或只是一个空格,然后是一些数字(1-4位数字),之后可能还有更多文本
我想以“ id93”或“ tag93”或“ id24”等格式捕获子字符串。
我知道这是一个特定的问题,但是我没有一致的单个字符来分隔要捕获的数据。
我应该遵循哪种正则表达式模式?
最佳答案
将正则表达式模式\b(id|tag)\.?\s*(\d{1,4})\b
与不区分大小写的修饰符一起使用,并加入组1和2。
编辑:Java regex格式:\\b(id|tag)\\.?\\s*(\\d{1,4})\\b