相关疑难解决方法(0)

Ruby正则表达式中\ A\z和^ $之间的区别

在我阅读的文档中:

使用\ A和\ z匹配字符串的开头和结尾,^和$匹配行的开头/结尾.

我将应用正则表达式来检查用户提交的用户名(或电子邮件是否相同).我应该validates_format_of在模型中使用哪个表达式?我无法理解其中的区别:我一直用^和$ ...

ruby regex

185
推荐指数
4
解决办法
8万
查看次数

名字的正则表达式

出于网站验证的目的,我需要名字和姓氏验证.

对于名字,它应该只包含字母,可以是几个空格,没有字母,最少3个字符和前30个字符的单词.不应验证空字符串.即:

Jason,jason,jason smith,jason smith,JASON,Jason smith,jason Smith,jason SMITH

对于姓氏,它应该是一个单词,只有字母,至少3个字符和前30个字符.不应验证空字符串.IE:lazslo,Lazslo,LAZSLO

regex validation

107
推荐指数
16
解决办法
27万
查看次数

用于验证姓名和姓氏的正则表达式?

虽然这看起来像一个微不足道的问题,但我很确定它不是:)

我需要验证来自世界各地的人的姓名和姓氏.我怎么能用正则表达式做到这一点?如果它只是英文版,我认为这会削减它:

^[a-z -']+$
Run Code Online (Sandbox Code Playgroud)

但是,我还需要支持这些案例:

  • 其他标点符号,因为它们可能在不同国家使用(不知道哪个,但也许你这样做!)
  • 不同的Unicode字母集(重音字母,希腊语,日语,中文等)
  • 没有数字或符号或不必要的标点符号或符文等.

有没有一种标准方法来验证我可以实现的这些字段,以确保我们的网站访问者有一个很好的经验,并可以在注册时实际使用他们的名字

我会寻找类似于你可以在谷歌上找到的许多"电子邮件地址"正则表达式的东西.

c# regex globalization

38
推荐指数
7
解决办法
10万
查看次数

Regexp的名字

我需要确保人们为Rails中的表单正确输入他们的第一个,中间名和姓氏.因此,正则表达式的第一个想法是:

\A[[:upper:]][[:alpha:]'-]+( [[:upper:]][[:alpha:]'-]*)*\z
Run Code Online (Sandbox Code Playgroud)

这将确保名称中的每个单词都以大写字母开头,后跟字母或连字符或撇号.

我猜的第一个问题与正则表达式没什么关系,尽管我希望有一个正则表达式我可以为此复制.字母,连字符和撇号是我应该在名字中检查的唯一字符吗?

我的第二个问题是,确保每个名称至少包含1个大写字母是否很重要?很多人输入所有小写名称,我真的想避免这种情况,但它有时合法吗?

这是我到目前为止确保名称中至少有一个大写字母:

\A([[:alpha:]'-]+ )*[[:alpha:]'-]*[[:upper:]][[:alpha:]'-]*( [[:alpha:]'-]+)*\z
Run Code Online (Sandbox Code Playgroud)

是不是有[:name:]括号表达式?:)

更新:我添加.,所允许的字符,惊讶我没有原来他们的看法.这么多人必须要处理这种正规表达!对于这种事情,没有人有任何预先制作的正则表达式吗?

regex ruby-on-rails

11
推荐指数
1
解决办法
549
查看次数

正则表达式最多匹配4个空格

我有一个正则表达式来匹配一个人的名字.

到目前为止我有^([a-zA-Z \'\ s] +)$但是id喜欢添加一个检查以允许最多4个空格.我如何修改它来做到这一点?

编辑:我的意思是在字符串中的任何地方有4个空格

regex

4
推荐指数
3
解决办法
9845
查看次数

Java正则表达式验证名称

验证可以的名称

约翰,约翰保罗等

我用这个正则表达式:

String regex = "[A-Z]([a-z]+|\\s[a-z]+)";
Run Code Online (Sandbox Code Playgroud)

但是当我这样做时:

boolean ok = Pattern.matches(regex, "John Paul");
Run Code Online (Sandbox Code Playgroud)

比赛失败了吗?

为什么?我想使用匹配来验证字符串整体...

这是正则表达式错了吗?

java regex

3
推荐指数
1
解决办法
2万
查看次数

PHP 中姓氏的正确大写

\n

可能的重复:
\n 编程中人名的大写

\n
\n\n\n\n

我注意到在我的网站上注册的人非常懒,他们甚至懒得将自己的名字大写。

\n\n

我的网站是一个商业网站,因此这里没有“自我表达自由”的说法。

\n\n

名字大写非常简单,因为我想不出西方名字不以大写字母开头的例子。我可能是错的。

\n\n

但是将姓氏大写变得更加困难,例如

\n\n
O\'Brien\nO\xc2\xb4Flaherty\nde Wit\nMcKenzie\nAuditore da Firenze\nde los Remedios de Escalada\nVirta-Jokela\n
Run Code Online (Sandbox Code Playgroud)\n\n

有什么好的解决方案可以在 PHP 中正确自动自动大写姓氏,并且在大约 95% 的时间内正确?我知道这一点

\n

php regex capitalization

3
推荐指数
1
解决办法
1839
查看次数