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,因为我他需要帮助。