java正则表达式允许可选的空格字符
我试图创建一个正则表达式模式来匹配java正则表达式允许可选的空格字符,java,regex,Java,Regex,我试图创建一个正则表达式模式来匹配abcdef,abcdef,等等 我尝试的模式是: [a-z]{3}[\s?][a-z]{3} [a-z]{3}[\s*][a-z]{3} [\w]{3}[\s?][\w]{3} \w{3}\s?\w{3} 所有这些似乎都适用于abc def,但不适用于abcdef {编辑} AB CD 12 ABC/15 DEF .*\bAB CD\b\s?(\d+)\s?\bABC\b[/](\d+)\s?\bDEF\b 我正在尝试提取12和15。如何: [\w]{3}
abcdef
,abcdef
,等等
我尝试的模式是:
[a-z]{3}[\s?][a-z]{3}
[a-z]{3}[\s*][a-z]{3}
[\w]{3}[\s?][\w]{3}
\w{3}\s?\w{3}
所有这些似乎都适用于abc def
,但不适用于abcdef
{编辑}
AB CD 12 ABC/15 DEF
.*\bAB CD\b\s?(\d+)\s?\bABC\b[/](\d+)\s?\bDEF\b
我正在尝试提取12和15。如何:
[\w]{3}\s?[\w]{3}
或任何其他组合。只需从括号中删除\s
,或将量词(即*和?
)放在空格选择器的括号外即可:
[\w]{3}[\s]?[\w]{3}
你最下面的那个应该也能用。第一个就快到了
[a-z]{3}\s?[a-z]{3}
拿这个?方括号外
java将无法正确读取它。您将需要。逃避\s到\s似乎对我有效。我在这里试过。。同样通过代码。它也在那里工作。你的前3个是错误的,因为它们在方括号中包含问号和星号,意思是“找到一个可以是空白字符或问号的单个字符”--当在[字符集]中时,
?
和*
并不意味着“0或1”和“0或更多”虽然它在站点中运行良好,但在我尝试使用Group、matcher和pattern java方法提取数据的代码中不起作用。虽然它在站点中运行良好,但在我尝试使用Group、matcher和pattern java方法提取数据的代码中不起作用。尽管它在站点中运行良好,在我试图使用groups、matcher和patternjava方法提取数据的代码中,它不起作用