Java Can';找不到模式的正确正则表达式
我正在尝试获取符合以下模式的正则表达式:Java Can';找不到模式的正确正则表达式,java,regex,Java,Regex,我正在尝试获取符合以下模式的正则表达式: _Something6 当所有内容都必须以下划线开头,后跟大写字母,然后是任何字母或数字,但不再是下划线或任何特殊字符 我有这个,但正如你所看到的,我不是一个雷鬼天才 ^/_[A-Z][a-z+][0-9] 非常感谢您的帮助。应该是这样:^[A-Z][A-Z]+[0-9] 俗话说: ^行的开头 下划线 [A-Z]任何大写字母形式的A到Z(仅一个) [a-z]+任何小写字母形式的a到z(至少一次) [0-9]一个数字 并且为了确保它在那里结束(以数
_Something6
当所有内容都必须以下划线开头,后跟大写字母,然后是任何字母或数字,但不再是下划线或任何特殊字符
我有这个,但正如你所看到的,我不是一个雷鬼天才
^/_[A-Z][a-z+][0-9]
非常感谢您的帮助。应该是这样:^[A-Z][A-Z]+[0-9] 俗话说:
行的开头^
下划线
任何大写字母形式的A到Z(仅一个)[A-Z]
任何小写字母形式的a到z(至少一次)[a-z]+
一个数字[0-9]
$
:
^_[A-Z][a-z]+[0-9]$
这应该是:^[A-Z][A-Z]+[0-9] 俗话说:
行的开头^
下划线
任何大写字母形式的A到Z(仅一个)[A-Z]
任何小写字母形式的a到z(至少一次)[a-z]+
一个数字[0-9]
$
:
^_[A-Z][a-z]+[0-9]$
像这样的方法应该会奏效:
^_[A-Z][A-Za-z\d]+$
^_[A-Z][A-Za-z]+\d+$
[A-Za-z]
也可以是[A-z]|[A-z]
,如果这对您更有意义的话。\d
是[0-9]
的笔名-同样,请使用您更清楚的名称
您的示例有些不清楚,因此有几个示例:
String a = "_Som3th1ng6"; // This matches.
String b = "_Some_thing"; // This DOES NOT match.
如果您只想匹配以数字结尾的字符串,类似这样的方法可以工作:
^_[A-Z][A-Za-z\d]+$
^_[A-Z][A-Za-z]+\d+$
^
和$
匹配字符串的开头和结尾,例如:
String a = "_Something6"; // This matches.
String b = " _Something6 "; // This DOES NOT match.
如果这不是您想要的,请省略这两个字符。类似的操作应该可以:
^_[A-Z][A-Za-z\d]+$
^_[A-Z][A-Za-z]+\d+$
[A-Za-z]
也可以是[A-z]|[A-z]
,如果这对您更有意义的话。\d
是[0-9]
的笔名-同样,请使用您更清楚的名称
您的示例有些不清楚,因此有几个示例:
String a = "_Som3th1ng6"; // This matches.
String b = "_Some_thing"; // This DOES NOT match.
如果您只想匹配以数字结尾的字符串,类似这样的方法可以工作:
^_[A-Z][A-Za-z\d]+$
^_[A-Z][A-Za-z]+\d+$
^
和$
匹配字符串的开头和结尾,例如:
String a = "_Something6"; // This matches.
String b = " _Something6 "; // This DOES NOT match.
如果这不是您想要的,请省略这两个字符。您可以尝试:
^[A-Z][A-z0-9]+
。首先是:
^_ : match the beginning of the string
[A-Z] : followed by an uppercase letter
[a-z0-9]+ : followed by any lowercase letters or numerics
你可以试试:
^[A-Z][A-z0-9]+
。首先是:
^_ : match the beginning of the string
[A-Z] : followed by an uppercase letter
[a-z0-9]+ : followed by any lowercase letters or numerics
试试这个:
^_[A-Z][\w&&[^_]]+$
试试这个:
^_[A-Z][\w&&[^_]]+$
一两个正则表达式教程可能是个好主意;它很有价值。您的
+
放错了位置,而且在开头附近有一个看似随机的/
。为什么要尝试使用/
。你是否见过javascript示例,或者你想转义一个字符(即“\”)?我正在阅读一些教程,我认为任何特殊字符都需要在它前面加一个/。下划线实际上不是特殊字符,也不需要转义。还有,你的斜杠打错了。例如,要匹配文字字符[
,您需要正则表达式:\[
。向我显示指向该教程的链接(它必须是\不是/)。无论如何,下划线不是一个特殊的字符。一两个正则表达式教程可能是个好主意;它很有价值。您的+
放错了位置,并且在开头附近出现了一个看似随机的/
。您为什么尝试使用/
。您是否看到了一个javascript示例,或者您想转义一个字符(那应该是“\`)?我正在阅读一些教程,我认为任何特殊字符都需要在其前面加一个/。下划线实际上不是特殊字符,不需要转义。此外,您的斜杠错误。例如,要匹配文字字符[
,您需要正则表达式:\[
。向我显示指向该教程的链接(它必须是\not/)。无论如何,下划线不是特殊字符。我只有一个问题,就是这个匹配:\u something5它忽略了大写字母。感谢您的帮助。OP特别声明“然后是任何字母或数字”.@UrielHernández这是不可能的;它不能匹配小写字母作为第二个字符。^[a-Z]?[a-Z]+[0-9]
?应该将大写字母设置为可选。但是仍然只允许它作为@Raystorm之后的第一个字符,但是OP声明它不是可选的。我只有一个问题,那就是这个匹配:something5它忽略了大写字母。谢谢你的帮助。OP特别声明“然后是任何字母或数字”。@UrielHernández这是不可能的;它不能匹配小写字母作为第二个字符。^[a-Z]?[a-Z]+[0-9]
的?
应使大写字母可选。但仍然允许它仅作为@raystom之后的第一个字符,但OP声明它不是可选的。IMO[a-z0-9]
将是字符范围的规范表示形式。第二个字符类中的|是不必要的,我实际上认为它与该上下文中的文字|匹配,因此例如“_Some | thing6”将与该正则表达式匹配。此外,由于您没有结束锚($),类似这样的内容也将匹配:“_sousome | thing6”“.IMO[a-z0-9]
将是字符范围的规范表示形式。第二个字符类中的|是不必要的,我实际上认为它与该上下文中的文字|匹配,因此例如“|Some | thing6”将与此正则表达式匹配。此外,由于您没有结束锚($),类似的内容也将匹配:“_So_something 6”。[\w&&[^\u]]
比[a-zA-Z0-9]
(8对9个字符)写起来要短。但是你应该考虑到隐含这种语法的复杂性。不过我注意到你读过的作品希望[\w&&[^\u]]
更短