我正在尝试在输入字符串“@function”和“@”之间获取一个字符串:
inputText = "@function square @default 2 @type Int @brief squares default number"
为了在'@function'和'@'之间获取文本,正则表达式是什么?
为了以下(在Java中):
Pattern p = Pattern.compile( some magic regex expression... );
Matcher m = p.matcher(inputText);
functionName = m.group;
System.out.println(functionName);
打印“square”
答案 0 :(得分:3)
正则表达式:
@function(.*?)@
这应该将“square”放入第一个捕获组。然后,您可以使用Matcher.group(int)
来抓取该组。如下面的代码所示:
functionName = m.group(1);
组(int组) 返回在上一个匹配操作期间由给定组捕获的输入子序列。
<强> https://docs.oracle.com/javase/7/docs/api/java/util/regex/Matcher.html#group(int) 强>
修改强>
添加'\ s'来修剪空白