无空格Word的Java模式
我想知道一个单词的正则表达式是什么,我似乎可以在任何地方找到它?我试图匹配“Loop num+5”的字符串,我想提取“Loop num”部分。我不确定regex会怎么做无空格Word的Java模式,java,regex,string,pattern-matching,Java,Regex,String,Pattern Matching,我想知道一个单词的正则表达式是什么,我似乎可以在任何地方找到它?我试图匹配“Loop num+5”的字符串,我想提取“Loop num”部分。我不确定regex会怎么做 Pattern pattern = Pattern.compile("(loop-.*)"); Matcher matcher = pattern.matcher("5 * loop-num + 5"); if(matcher.find()){ String extractedString = matcher.group
Pattern pattern = Pattern.compile("(loop-.*)");
Matcher matcher = pattern.matcher("5 * loop-num + 5");
if(matcher.find()){
String extractedString = matcher.group(1);
System.out.println(extractedString);
}
从这里得到:“循环num + 5”如果你真的打算使用正则表达式来匹配单词(包含字母的实体,可选地用连字符(s)分裂),你需要考虑下面的正则表达式:
\b\pL+(?:-\pL+)*\b
看
说明:
-前导词边界\b
-1个或多个Unicode字母\pL+
-零个或多个。。。(?:-\pL+)*
-文字连字符-
-1个或多个Unicode字母\pL+
-尾随词边界\b
注意:如果单词可能包含数字(不在起始位置),您可以与
模式.UNICODE\u字符\u类
一起使用。这里,<代码> \W/COD>将匹配字母、数字和下划线。 < P>如果您真的计划使用正则表达式来匹配单词(包含字母的实体,可选地用连字符(s)拆分),则需要考虑以下正则表达式:
\b\pL+(?:-\pL+)*\b
看
说明:
-前导词边界\b
-1个或多个Unicode字母\pL+
-零个或多个。。。(?:-\pL+)*
-文字连字符-
-1个或多个Unicode字母\pL+
-尾随词边界\b
注意:如果单词可能包含数字(不在起始位置),您可以与
模式.UNICODE\u字符\u类
一起使用。在这里,\w
将匹配字母、数字和下划线。请发布到目前为止您已经尝试过的内容。。给我们一些代码:)@Kami抱歉,但是我已经添加了我现在尝试过的内容。你想要数字还是想要提取“loop num”字符串?可能是这样的loop*-\w{1,3}
或l\w{3}-\w{3}
或l\w{3}-n\w{2}
取决于你通常想要什么。这些表达很幼稚,但你们需要描述更多你们想从字符串中删掉的东西。@samuel,这是我需要的部分!只是做了一些调整,它的工作!Regex:loop-[A-Za-z]\\w+请发布到目前为止您已经尝试过的内容。。给我们一些代码:)@Kami抱歉,但是我已经添加了我现在尝试过的内容。你想要数字还是想要提取“loop num”字符串?可能是这样的loop*-\w{1,3}
或l\w{3}-\w{3}
或l\w{3}-n\w{2}
取决于你通常想要什么。这些表达很幼稚,但你们需要描述更多你们想从字符串中删掉的东西。@samuel,这是我需要的部分!只是做了一些调整,它的工作!正则表达式:循环-[A-Za-z]\\w+