如何从字符串下面获取ID = 2053,我想从此URL的字段5中获取值:
f('1132', 'TEXT', '273', '', '2053', 'TEXT', '1081', '0', '0', '', 'TEXT', '',0);
我正在尝试通过以下方式获得此值:
String REGEXP = "'(.\\d*)'/g";
Pattern pattern = Pattern.compile(REGEXP);
Matcher matcher = pattern.matcher(URL);
if (matcher.find()) {
docID.setId(matcher.group(2));
}
但是我明白了ID=null
。可能是因为匹配器仅匹配第一个字段。我如何创建正则表达式以获得在第五个位置上找到的价值
您不需要正则表达式即可获取该值,如果您split
使用字符串,,
则可以获取该值。
String str = "f('1132', 'TEXT', '273', '', '2053', 'TEXT', '1081', '0', '0', '', 'TEXT', '',0);";
String[] arr = str.split(",");
System.out.println("Value is: " + arr[4]);
// Prints:
// Value is: '2053'
但是,如果您仍然想使用正则表达式,则可以使用如下正则表达式:
^(?:[^,]*,){4} '(\d+)'
// REGEX APPROACH
String str = "f('1132', 'TEXT', '273', '', '2053', 'TEXT', '1081', '0', '0', '', 'TEXT', '',0);";
Matcher m = Pattern.compile("^(?:[^,]*,){4} '(\\d+)'").matcher(str);
if (m.find()) {
System.out.println(m.group(1));
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句