如何使用GWT正则表达式提取文本?

时间:2012-02-01 23:39:45

标签: regex gwt

每次我尝试使用时,正则表达式会踢我的裤子。我正在使用GWT的RegExp,我想从以下文本中提取两个值:

Token[cc8ikjw2-fa7b-4cd6-b6677-04b723ef41 , 2ac7ce11-14b2-4de4-bm51-c22f23ea23af]

我想挑出两个代码并将它们分配给变量,同时忽略'Token ['字符。

请帮帮我。你是我唯一的希望。

1 个答案:

答案 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字符串中的所有反斜杠。