如何使用正则表达式确保字符不出现在结尾或开头以及不重复?
How to ensure that a character do not come at the end or the beginning as well as is not repeated using Regular Expressions?
我刚开始学JS。在正则表达式主题中,作为我的作业之一,这是问题陈述。
字符串可以有以下字符-
大写 (A-Z) 和小写 (a-z) 英文字母。
位数(0-9)。
个字符! # $ % & ' * + - / = ? ^ _ ` { | } ~
个字符。点,前提是它不是第一个或最后一个字符,并且不会一个接一个地出现。
我尝试了很多不同的方法,我能做的最好的是 - /^[^.]([\^><@,.]+)/
显然是错误的。我的主要问题是确保 .(dot) 不会出现在开头或结尾并且不会重复。还有其他问题。
有人可以帮我吗?
开头的否定前瞻确保点永远不会出现在输入字符串的开头,并拒绝连续的句点或末尾的句点,像 \.(?!\.|$)
这样的表达式将完成这项工作:
^(?!\.)(?:[A-Za-z0-9!#$%&'*+\/=?^_`{|}~-]+|\.(?!\.|$))+$
我刚开始学JS。在正则表达式主题中,作为我的作业之一,这是问题陈述。
字符串可以有以下字符-
大写 (A-Z) 和小写 (a-z) 英文字母。
位数(0-9)。
个字符! # $ % & ' * + - / = ? ^ _ ` { | } ~
个字符。点,前提是它不是第一个或最后一个字符,并且不会一个接一个地出现。
我尝试了很多不同的方法,我能做的最好的是 - /^[^.]([\^><@,.]+)/
显然是错误的。我的主要问题是确保 .(dot) 不会出现在开头或结尾并且不会重复。还有其他问题。
有人可以帮我吗?
开头的否定前瞻确保点永远不会出现在输入字符串的开头,并拒绝连续的句点或末尾的句点,像 \.(?!\.|$)
这样的表达式将完成这项工作:
^(?!\.)(?:[A-Za-z0-9!#$%&'*+\/=?^_`{|}~-]+|\.(?!\.|$))+$