我有这样的文字:

executeRule(document, 'SendEmail', [
    'emailAddress':'EMAIL([email protected])',
    'subject':'Test',
    'text':'Test',
    'defaultText':'Test']
);


我需要使用正则表达式对其进行解析,以便获取executeRule的参数。

目前,我的正则表达式看起来像这样(java):

List<String> partialRules = new ArrayList<String>();
        List<String> rules = new ArrayList<String>();
        Pattern p = Pattern.compile("executeRule\\(\\s*\\w+,\\s*'(\\w+)'\\s*,\\.*");


问题是我找不到与我的executeRule方法的3'rd参数匹配的正则表达式。

任何帮助表示赞赏。

谢谢。

最佳答案

Pattern p = Pattern.compile("(?s)executeRule\\(\\s*?(.+?),\\s*?('.+?'),\\s*(\\[.+?\\])");


如果我正确理解你想要什么。每个参数将保存在Matcher的组(i)中。

关于java - Java Regex讨论,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8049624/

10-10 11:12