我有这样的文字:
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/