当前位置: 首页 > 知识库问答 >
问题:

正则表达式,只允许某些特殊字符,也包括字母数字字符

狄天逸
2023-03-14

我正在努力与正则表达式和需要它的程序。

输入只需要字母数字键,还需要(只允许逗号、:、空格、/、-在特殊字符中)

据我所知,我已经尝试=(^[a-zA-Z0-9,:\S/-]*$),如果我错了,请纠正我。a-zA-Z0-9-字母数字键.,:-逗号和冒号-S-Space/-我不确定如何表示正斜杠,因此我对其进行了转义--破折号也不确定是否需要转义它。

如果可以更正并解释每个部分,将不胜感激。

提前谢谢。

共有3个答案

蒙光华
2023-03-14
匿名用户

将行首^和行尾$移动到组外,如

^([a-zA-Z0-9,:\S/-]*)$

那应该可以了。

从智明
2023-03-14
  1. 速记匹配除空格外的任何字符,与您想要的正好相反。小写与空白匹配。但是如果只需要空格,只需在character类中放置一个空格
  2. 连字符需要在字符内转义,除非它是字符类中的第一个或最后一个字符,但为了确保这一点,您始终可以转义它
  3. 斜杠不需要转义。它们在其他语言中被转义,您可以将它们用作模式分隔符。即:/regex/i
  4. 除了连字符和速记之外,只需要转义反斜杠和右括号
  5. 请记住,在java中,始终需要使用双反斜杠(一个由java解释,另一个由正则表达式引擎解释)

正则表达式

pattern = "^[a-zA-Z0-9 ,:/\\-]*$"

邓业
2023-03-14

您可以将a-zA-Z0-9替换为just\\w,它是a-zA-Z\u 0-9的缩写。此外,\\S是任何字符,但不是空白,您应该使用\\S。如果它是第一个或最后一个字符,则不需要转义,甚至不需要转义,因为如果它位于两个字符之间,则可能会被解释为范围,因此必须转义。因此,您可以将正则表达式设置为类似于^([\w,:\s/-]*)$

 类似资料:
  • 我需要允许字段使用字母数字和某些其他字符。我正在使用这个正则表达式: 允许的特殊字符是 “_”。我做错了什么?

  • 我的表单中有2个输入字段(电话号码),我应该验证这些输入。数字0-9和()-只允许,位数应该在5和11之间{5,11}。我试着用方法替换。你能解释一下,它是如何工作的吗?

  • 我创建了以下正则表达式: 它应该接受字母数字、空格和撇号。输入应至少为1个字符,最多为24个字符。但它也只接受带撇号和空格的输入(例如,

  • 问题内容: 我的密码强度标准如下: 长度为8个字符否特殊字符Atleast 1个数字Atleast 1个字母 问题答案: 更新: Xcode 8.3.2•Swift 3.1

  • 问题内容: 我想编写一个简单的正则表达式来检查给定字符串中是否存在任何特殊字符。我的正则表达式可以工作,但是我不知道为什么它还包括所有数字,所以当我输入一些数字时会返回错误。 我的代码: 问题答案: 请不要那样做…… 像这样的小Unicode BABY ANGEL 快要死了!◕◡◕(←这些不是图像)(箭头也不是!) 而且您正在杀死20年的DOS:-)(最后一个笑脸称为WHITE SMILING F

  • 我需要一个javascript正则表达式来验证电话号码。数字不能是单个零或仅为零。 e. g. 这些是不允许的。 但这些是允许的: 到目前为止,我拥有的javascript正则表达式是: 但这似乎不起作用。 规则是电话号码可以包含数字和和和。它可以以0开头,但电话号码不能是单个0或仅包含或不包含上述字符的多个零。 你能给我指一下正确的方向吗。提前谢谢。