草庐IT

php - 正则表达式:字符串是否以大写字母开头(不仅在 A-Z 中)?

如果第一个字母可能不在A-Z范围内但来自其他语言并且同时如果第一个字符不是数字,我如何检查字符串是否以大写字母开头?例子:"Thisisstring"-match"thisisstring"-notmatch"5notgood"-notmatch"Увеличиstartscapital"-match"мащабиранеnocapital"-notmatch在PHP中:if(preg_math('/??/i',$str)){echo'yeeeehaaa';} 最佳答案 使用这个正则表达式:preg_match('#^\p{Lu}#

php - 是否有 RegEx 来验证 Base32::RFC 3548

我想在转换之前验证Base32代码。有没有办法做到这一点,比如正则表达式?我需要通过RFC3548遵循这些标准 最佳答案 应该这样做:^(?:[A-Z2-7]{8})*(?:[A-Z2-7]{2}={6}|[A-Z2-7]{4}={4}|[A-Z2-7]{5}={3}|[A-Z2-7]{7}=)?$Demo(?:[A-Z2-7]{8})*部分处理40位序列。第二部分处理规范指定的最终字节。请注意,此模式也将接受空字符串(0字节)。在PHP中,将其与preg_match一起使用:$isMatch=preg_match('#^(?:[A

PHP : non-preg_match version of: preg_match ("/[^a-z0-9]/i", $a, $match)?

假设字符串是:$a="abc-def"if(preg_match("/[^a-z0-9]/i",$a,$m)){$i="istoppedscanning'$a'becauseIfoundaviolationinitwhilescanningitfromlefttoright.Theviolationwas:$m[0]";}echo$i;上面的例子:应该指出“-”是违规的。我想知道是否有非preg_match方法可以做到这一点。如果有非preg_match方法可以运行1000或100万次,我可能会运行基准测试,看看哪个更快、更高效。在基准测试中,“$a”会更长。确保它不会尝试扫描整个“$

java - 如何将拉丁 unicode 字符替换为 [a-z] 字符

我正在尝试将所有拉丁unicode字符转换为它们的[a-z]表示ó-->oí-->i我可以很容易地一个一个地做,例如:myString=myString.replaceAll("ó","o");但是由于有大量的变化,这种方法是不切实际的在Java中还有其他方法吗?例如正则表达式,或实用程序库用例:1-城市名称从另一种语言翻译成英文,例如圣埃斯皮里图-->圣埃斯皮里图 最佳答案 此答案需要Java1.6或更高版本,其中添加了java.text.Normalizer.Stringnormalized=Normalizer.normali

java - 解决 Java Checkstyle 错误 : Name 'logger' must match pattern '^[A-Z][A-Z0-9]*(_[A-Z0-9]+)*$'

使用EclipseCheckstyle插件我看到这个错误:Name'logger'mustmatchpattern'^[A-Z][A-Z0-9]*(_[A-Z0-9]+)*$'.我通过更改解决了这个错误:privatestaticfinalLoggerlogger=Logger.getLogger(someClass.class);到privatestaticfinalLoggerLOGGER=Logger.getLogger(someClass.class);为什么这是一个checkstyle警告? 最佳答案 因为该字段被标记为f

Java 正则表达式 a-z、A-Z、0-9 和 (.)(_)(-)

写了一个简单的正则表达式,但我一直不太擅长这个。我想做的是检查一个字符串(文件名)以确保它只包含a-z、A-Z、0-9或特殊字符下划线(_)句点(.)或破折号(-)。这是我的if(filename.length()这似乎可行,但对我来说看起来不是很优雅。有没有更好/更易读的方式来写这个?提前致谢!只是想学习如何更好地编写这些漏洞。-将 最佳答案 您不需要在字符类中使用[]。所以,你可以这样写:^[-a-zA-Z0-9._]+此外,您可以使用\\w代替a-zA-Z0-9_。因此,正则表达式为:^[-\\w.]+此外,此正则表达式将通过

java - regex{m,n} 和 (regex){m,n} 有什么区别?

我正在开发一个docker项目,需要编写一个正则表达式来检查存储库名称。要求如下:只包含ASCII字符,不包含大写字母。除点(.)、连字符(-)和下划线(_)外的特殊字符除外。只以字母和数字开头,也以字母和数字结尾。特殊字符不能连续出现。长度限制(最小:2,最大:255)那么,我的正则表达式是:([a-z0-9]+(?:[._-][a-z0-9]+)*){2,255}但是,当存储库名称为e-e_1.1时,它就不行了当我将其更改为:[a-z0-9]+(?:[._-][a-z0-9]+)*{2,255}没关系。有没有人可以解释一下?提前谢谢你。 最佳答案

java - 正则表达式精确匹配 n 次出现的字母和 m 次出现的数字

我必须匹配一个8个字符的字符串,它可以包含恰好2个字母(1个大写和1个小写)和恰好6个数字,但它们可以任意排列。所以,基本上:K82v6686会通过3w28E020会通过1276eQ900会失败(太长)98Y78k9k会失败(三个字母)A09B2197会失败(两个大写字母)我已经尝试使用正向前瞻来确保字符串包含数字、大写和小写字母,但我无法将它限制在特定的出现次数。我想我可以通过包含字母和数字可能出现的位置的所有可能组合来解决这个问题:(?=.*[0-9])(?=.*[A-Z])(?=.*[a-z])([A-Z][a-z][0-9]{6})|([A-Z][0-9][a-z][0-9]{

c++ - 将 `_[a-z0-9]`开头的标识符以 `using`导入全局命名空间是否定义明确?

整个问题都符合标题。C++14[global.names]是这样说的Eachnamethatbeginswithanunderscoreisreservedtotheimplementationforuseasanameintheglobalnamespace.但我不太清楚是否遵循namespaceN{void_foo(){}}usingN::_foo;是否违反规则。 最佳答案 这不是很明显吗?您的代码将一个以下划线开头的名称放入全局namespace,这些名称保留供实现使用。不要那样做。如果实现在全局命名空间中有_foo,这将产生

php - symfony2 实体验证正则表达式 a-z A-Z 0-9

symfony2中是否有内置方法根据经典的a-z、A-Z和0-9规则验证字符串(在我的例子中是用户名和其他属性)?作为自定义验证器,我是否必须自己在正则表达式中编写它?(如果是这样,请提示在哪里看是值得赞赏的) 最佳答案 你应该使用原生的Regexvalidator,就像使用正则表达式断言注解一样简单,如下所示,useSymfony\Component\Validator\ConstraintsasAssert;classYourClass{/***@Assert\Regex("/[a-zA-Z0-9]/")*/protected$