Regex for matching HashTags in any language(Regex用于匹配任何语言的hashtag)
本文介绍了Regex用于匹配任何语言的hashtag的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我的应用程序中有一个字段,用户可以在其中输入hashtag。 我想验证他们的条目,并确保他们输入一个适当的标签。 它可以使用任何语言,并且不应在前面加#符号。 我正在用Java脚本写作。
下面是很好的例子:
- Abcde45454_fgfgfg(好的原因是:只有字母、数字和_)
- 2014_is-the-年(好的原因是:只有字母、数字、_和-)
- בר_רפאלי(好的原因是:只有字母和_)
- арбуз(好因为:只有字母)
和以下是不好的例子:
- Dan Brown(不好,因为有空位)
- 天哪!(坏因为有!)
- בררפ@לי(错误,因为有@和空格)
我们有一个仅与a-Za-z0-9匹配的正则表达式,我们需要添加语言支持,因此我们将其更改为忽略空格并忘记忽略特殊字符,因此我来了。
我看到的其他一些StackOverflow示例,但对我不起作用:
- Other languges don't work
- Again, English only
[编辑]
- 添加了为什么坏就是坏,好就是好的解释
- 我不想要前面的#字符,但如果我想在开头添加一个#,它应该是一个有效的标签
- 基本上我不想允许!@#$%^&;*()=+./,[{]};:‘"?><; 这样的特殊字符
推荐答案
如果您的禁止字符列表是完整的(!@#$%^&*()=+./,[{]};:'"?><
),则正则表达式为:
^#?[^s!@#$%^&*()=+./,[{]};:'"?><]+$
Demo
这允许可选的前导#
符号:#?
。它不允许使用负字符类的特殊字符。我刚刚将s
添加到列表(空格),还对[
和]
进行了转义。
遗憾的是,您不能在JavaScript的正则表达式中使用p{P}
(Unicode标点符号)这样的结构,因此,如果正则表达式解决方案不能满足您的需求,您基本上必须将字符列入黑名单或采取不同的方法。
这篇关于Regex用于匹配任何语言的hashtag的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
沃梦达教程
本文标题为:Regex用于匹配任何语言的hashtag


猜你喜欢
- 400或500级别的HTTP响应 2022-01-01
- addEventListener 在 IE 11 中不起作用 2022-01-01
- 如何使用 JSON 格式的 jQuery AJAX 从 .cfm 页面输出查 2022-01-01
- Css:将嵌套元素定位在父元素边界之外一点 2022-09-07
- 使用RSelum从网站(报纸档案)中抓取多个网页 2022-09-06
- Flexslider 箭头未正确显示 2022-01-01
- 失败的 Canvas 360 jquery 插件 2022-01-01
- CSS媒体查询(最大高度)不起作用,但为什么? 2022-01-01
- Quasar 2+Apollo:错误:找不到ID为默认的Apollo客户端。如果您在组件设置之外,请使用ProvideApolloClient() 2022-01-01
- Fetch API 如何获取响应体? 2022-01-01