gpt4 book ai didi

javascript - Javascript 正则表达式分组

转载 作者:行者123 更新时间:2023-11-30 08:44:42 24 4
gpt4 key购买 nike

我是 java 脚本正则表达式的新手。我需要使用 java 脚本正则表达式验证项目中网页中的字段之一。--该字段不应允许任何除(“/”)以外的特殊字符。--此外,该字段不应允许任何以“/”开头或以“/”结尾的单词。但在“/”之间是允许的。--还有一个限制,它不允许超过一个连续的斜杠。---该字段也应该允许单个字符通过

基本上允许的词是:-

data
data/sdsd
d/s/s/sss

不允许的是:-

/data
or //data
or data/
or data////
or data/////data

我想到了两个正则表达式1. (^[\w]+.*[^/]$) 即允许单词以字母数字字符开头 & 还检查它不应允许单词以 "/”。

我知道这不是一个好的正则表达式(在它之间它允许多个“/”也没有处理特殊字符)但它的主要问题是它拒绝单个字符,所以如果有人可以帮助我修改此正则表达式以允许使用单个字符,那将很有帮助

  1. [\w]+([/][\w]+)* 即我想创建一个正则表达式,它允许任意数量的字母数字字符重复,但如果它看到斜线确保其后跟一个字母数字字符。 &我在互联网上读到“()”用于对字符进行分组所以我认为([/] [\w] +)* 将充当组允许:-

    /s,/sss ,/dadada

元字符“*”将确保它可以重复任意次数。但问题在于它没有将 [/][\w]+ 分组,而是允许以“/ 结尾的单词>"如果有人可以帮我解决这个问题,那将很有帮助。提前致谢!!

最佳答案

这可能不是最有效的,但它应该可以帮助您入门。 Javascript 的正则表达式引擎不支持 lookbehinds,所以这让它变得有点复杂。

^([a-z]+([a-z]|\/(?![\/]))*[a-z]|[a-z])$

http://regex101.com/r/iA9kC6

您可能还想使用不区分大小写的修饰符,因此结果(带有 / 分隔符)如下所示:

/^([a-z]+([a-z]|\/(?![\/]))*[a-z]|[a-z])$/i

关于javascript - Javascript 正则表达式分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23019130/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com