相当于Java Regex的Javascript

吉拉尼

我正在尝试编写一个javascript REGEX来验证字符串。

它应符合以下要求。

它只能包含大写和小写英文字母(a至z,A至Z)(ASCII:65至90、97至122)AND / OR数字0至9(ASCII:48至57)AND字符-_〜(ASCII :45,95,126)。前提是它们不是第一个或最后一个字符。它也可以具有角色。(点,句号,句号)(ASCII:46),前提是它不是第一个或最后一个字符,并且还没有连续出现两次或两次以上。

我有以下REGEX的Java版本。

^(?= [^ \ W _])[\ w〜-] ++(\。[\ w *〜-] ++)* +(?<= [^ \ W _])$

并且尝试将其转换为Java失败。以下是我的失败尝试。

^(?= [^ \ W _])[\ w〜-] +(。[\ w〜-] +)(。 [\ w])$

在以下两个测试中失败

abc..def 1

无效字符串的测试用例:

"a." "1." "a1." "aB78." "aB78..ab" "aB78,1" "aB78 abc" ".Abc12"

有效字符串的测试用例:

"a" "1" "a1" "a.1" "abc-def" "a1b2c~3" "012_345"

一月

根据您的要求,您可以提出:

^(?!.*\.{2})(?=.*[a-zA-Z0-9]$)[a-zA-Z0-9][-~.\w]*$

multiline模式下,请参阅regex101.com上的演示

解释:

  • ^确保这是行的开始
  • (?!。*。{2,})负前瞻-连续没有两个点
  • (?=。* [a-zA-Z0-9] $)最后一个字符必须是以下字符之一
  • [a-zA-Z0-9]第一个字符必须是其中一个
  • [-〜。\ w] *之后的任何这些(零次或多次)
  • $确保字符串在此处结束

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

相当于$ .on的Javascript

来自分类Dev

相当于RNGCryptoServiceProvider的Javascript

来自分类Dev

相当于Jquery的Javascript

来自分类Dev

相当于JavaScript的Jframe

来自分类Dev

Apex 相当于 Javascript For In

来自分类常见问题

相当于JavaScript中的Python Pandas

来自分类Dev

相当于jquery ajaxStop的Javascript

来自分类Dev

相当于JQuery .next()的JavaScript

来自分类Dev

相当于R中的javascript reduce

来自分类Dev

相当于Javascript querySelector的Python

来自分类Dev

相当于jquery触发方法的javascript

来自分类Dev

相当于Ruby的`send`的Javascript

来自分类Dev

相当于PHP $ array [$ i] []的JavaScript

来自分类Dev

相当于jQuery not()的Vanilla Javascript

来自分类Dev

相当于锚href的javascript

来自分类Dev

相当于 jQuery onclick 的 Javascript

来自分类Dev

相当于内联 JavaScript 的 Typescript

来自分类Dev

相当于\ p {L}的C ++和JS RegEx

来自分类Dev

Android相当于setTimeout和javascript的clearTimeout?

来自分类Dev

JavaScript相当于?? C#中的运算符

来自分类Dev

相当于jQuery.param()的纯Javascript

来自分类Dev

Javascript相当于对象模型中的destruct

来自分类Dev

JavaScript相当于相对路径

来自分类Dev

获取键,“ this”的值:JavaScript的jQuery相当于什么?

来自分类Dev

相当于jQuery.param()的纯Javascript

来自分类Dev

相当于angularjs $ state.go的javascript

来自分类Dev

javascript:相当于新Class()的new instance.constructor()?

来自分类Dev

相当于python的dictionary.get的javascript

来自分类Dev

相当于.NET XML反序列化的JavaScript