Java 如何使正则表达式与以0-9或a-z开头的带重音符号的字符串匹配,并且必须只接受此特殊字符-';字里行间?
我的模式必须匹配以下字符串:Java 如何使正则表达式与以0-9或a-z开头的带重音符号的字符串匹配,并且必须只接受此特殊字符-';字里行间?,java,regex,Java,Regex,我的模式必须匹配以下字符串: 可以从数字开始 可以以带重音或不带重音的字母开头 不能从空格开始 不能以特殊字符开头 在单词之间留出空格 不接受特殊字符,除了:-" 我目前的模式是:^[^\uw][\p{L}\s0-9À-ÖØ-ø-ÿ.-]+$ 有效例子: ^[a-zA-ZÀ-ÖØ-öø-ÿ][ '_-a-zA-ZÀ-ÖØ-öø-ÿ]+$ ^ = beginning of line $ = end
- 可以从数字开始
- 可以以带重音或不带重音的字母开头
- 不能从空格开始
- 不能以特殊字符开头
- 在单词之间留出空格
- 不接受特殊字符,除了:-"
^[^\uw][\p{L}\s0-9À-ÖØ-ø-ÿ.-]+$
有效例子:
^[a-zA-ZÀ-ÖØ-öø-ÿ][ '_-a-zA-ZÀ-ÖØ-öø-ÿ]+$
^ = beginning of line
$ = end of line
[a-zA-ZÀ-ÖØ-öø-ÿ] = matches all these characters specified including one with accents
[ '_-a-zA-ZÀ-ÖØ-öø-ÿ] = same as above except it includes the quote, blank space, underscore
+ = one or more (greedy)
大宗报价
圣安东尼奥
若昂·安东尼奥
若昂公司
彼得·穆勒
奥朗德
帕特里克·奥布赖恩
席尔瓦娜·科赫·梅林
无效示例:
^[a-zA-ZÀ-ÖØ-öø-ÿ][ '_-a-zA-ZÀ-ÖØ-öø-ÿ]+$
^ = beginning of line
$ = end of line
[a-zA-ZÀ-ÖØ-öø-ÿ] = matches all these characters specified including one with accents
[ '_-a-zA-ZÀ-ÖØ-öø-ÿ] = same as above except it includes the quote, blank space, underscore
+ = one or more (greedy)
公司N@me
100%公司
\公司
\s公司
_大宗报价
请帮帮我 第一个字母:
- 以数字、字母开头
- 排除重音和特殊字符
正文的其余部分:
- 包括数字、字母和重音
- 包括
\uuu
,-
,'
和
[0-9]
&[A-Za-zÀÖØøÿ]
&[\u\-\']
给你:
^[^\W_][0-9A-Za-zÀ-ÖØ-öø-ÿ_\-\' ]+$
看到这个了吗
当您必须处理复杂的正则表达式时,请使用 我最好的是:
/^[^_\W][\p{L}\s0-9À-ÖØ-öø-ÿ.'-]+$/gi
测试:我认为要求不太明确,但基于您的示例:
^[a-zA-ZÀ-ÖØ-öø-ÿ][ '_-a-zA-ZÀ-ÖØ-öø-ÿ]+$
^ = beginning of line
$ = end of line
[a-zA-ZÀ-ÖØ-öø-ÿ] = matches all these characters specified including one with accents
[ '_-a-zA-ZÀ-ÖØ-öø-ÿ] = same as above except it includes the quote, blank space, underscore
+ = one or more (greedy)
有关更多详细信息和示例,请参见此
最好的。对你有用吗?对你有用吗?
^[\upl]+(?:[-'\up{Z}]+\pL+*$对我无效,我的字符串不能以特殊字符、空格和数字与字母不同的任何字符开头。[\upl]+
不包含任何空格或特殊字符。这不适用于我,我的字符串不能以特殊字符、空格和任何数字和字母不同的字符开头。嘿,你修改了你的有效示例吗?哈哈,_Blockquote是其中的一部分!不管怎样,我为你更正了我的代码。是的,我修改了,我问了guy,因为我他需要帮助。