我想捕获匹配某些特定模式的多个字符串, 例如我的字符串是
String textData = "#1_Label for UK#2_Label for US#4_Label for FR#";
我想在两个 # 之间获取字符串,这两个字符串与 UK
输出应该是这样的
如果匹配字符串是 UK
而不是
输出应该是 1_Label for UK
如果匹配字符串是 label
而不是
输出应为 1_Label for UK,2_Label for US
和 4_Label for FR
如果匹配字符串是 1_
而不是
输出应该是 1_Label for UK
我不想通过数组列表提取数据,提取应该不区分大小写。
你能帮我解决这个问题吗?
问候, 阿希什·米什拉
最佳答案
您可以使用此正则表达式进行搜索:
#([^#]*?Label[^#]*)(?=#)
将 Label
替换为您的搜索关键字。
RegEx Demo
Java 模式:
Pattern p = Pattern.compile( "#([^#]*?" + Pattern.quote(keyword) + "[^#]*)(?=#)" );
关于java - 使用正则表达式从字符串中提取特定数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26272652/