每次我尝试使用时,正则表达式会踢我的裤子。我正在使用GWT的RegExp,我想从以下文本中提取两个值:
Token[cc8ikjw2-fa7b-4cd6-b6677-04b723ef41 , 2ac7ce11-14b2-4de4-bm51-c22f23ea23af]
我想挑出两个代码并将它们分配给变量,同时忽略'Token ['字符。
请帮帮我。你是我唯一的希望。
答案 0 :(得分:1)
这里只是一个快速的解决方案(如果字符串格式有很多变化,显然可能无效,但适用于提供的示例):
RegExp pattern = RegExp.compile( "Token\\[(\\S*)\\s*,\\s*(\\S*)\\]" );
MatchResult result =
pattern.exec( "Token[cc8ikjw2-fa7b-4cd6-b6677-04b723ef41 , 2ac7ce11-14b2-4de4-bm51-c22f23ea23af]" );
String token1 = result.getGroup( 1 );
String token2 = result.getGroup( 2 );
与给定示例中的标记匹配的实际正则表达式是:Token\[(\S*)\s*,\s*(\S*)\]
,但显然您需要转义Java字符串中的所有反斜杠。