正则表达式仅允许字母和某些字符

2024-01-23

我正在尝试创建一个仅允许大写或小写字母以及空格字符“-”、“、”、“.”、“(”和“)”的正则表达式。这是我到目前为止所拥有的,但由于某种原因它仍然让我输入数字

^[a-zA-Z -,.()]*$

任何帮助都会很棒!谢谢。


-在角色类别中很特殊。它用于定义一个范围,就像您所做的那样a-z.

匹配文字-您需要转义它或放置它,使其不会充当范围运算符:

^[a-zA-Z \-,.()]*$
         ^^ escaping \ 

or

^[-a-zA-Z ,.()]*$
  ^ placing it at the beginning.

or

^[a-zA-Z -,.()-]*$
              ^ placing it at the end.

有趣的是

^[a-z-A-Z -,.()]*$
     ^ placing in the middle of two ranges.

在最后的情况下-是介于a-z and A-Z因为周围的两个角色-(我们要按字面意思对待的)即z and A已经涉及范围,-再次按字面处理。

在所有提到的方法中,推荐使用转义方法因为它使您的代码更易于阅读和理解。任何人看到\预计会有逃跑的意图。放置-如果您稍后在字符类中之前(之后)添加一个字符而不转义,那么在开始(结束)处会产生问题-从而形成一个范围。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

正则表达式仅允许字母和某些字符 的相关文章

  • 通过搜索查找下一个文本并突出显示不起作用

    当在搜索框中搜索任何文本时 它可以找到并突出显示正确的文本 但是当搜索下一个 新文本时 它无法找到下一个 新文本 再次搜索时它不起作用 我无法找到问题 这JS below JS button search click function va
  • 正则表达式 - 从行首和行尾修剪空格[关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions Link
  • 如何使用 Perl 和正则表达式将 SQL 文档转换为 ColdFusion 脚本?

    我需要将 SQL 语句文档转换为 ColdFusion 文档 我对正则表达式只有一点经验 而且我是 Perl 超级新手 我昨天刚刚自学了它的基础知识 所以我可以完成这项任务 我正在尝试用 Perl 编写的脚本匹配和替换模式 该脚本保存为 B
  • PHP正则表达式替换链接url

    我需要添加href 之前http 如果这http 不遵循href or src 以下代码部分有效 部分意味着它考虑 a href 只但不src a s i a href target blank gt 0 a str 预先感谢各位的回复 s
  • 解析格式化字符串

    我正在尝试创建一个通用格式化程序 解析器组合 示例场景 我有一个 string Format 的字符串 例如var format 0 1 我有一个用于输入的对象 字符串 数组 例如var arr new asdf qwer 我正在使用格式字
  • 为什么 ?(*[[:class:]])foobar 的 Bash 模式匹配速度很慢?

    我有一个文本文件 foobar txt 大约 10KB 不是那么长 然而 以下匹配搜索命令在高性能 Linux 计算机上大约需要 10 秒 bash gt shopt s extglob bash gt cat foobar txt pri
  • 替换字符串列表中的 \x00 的最佳方法?

    我有一个来自已解析 PE 文件的值列表 其中包括 x00每个部分末尾的空字节 我希望能够删除 x00字符串中的字节而不删除所有字节 x 文件中的 s 我试过做 replace and re sub 但并没有取得太大成功 使用Python 2
  • 使用正则表达式解析 Snort 警报文件

    我正在尝试使用 Python 中的正则表达式从 snort 警报文件中解析出源 目标 IP 和端口 和时间戳 示例如下 03 09 14 10 43 323717 1 2008015 9 ET MALWARE User Agent Win9
  • 正则表达式仅匹配字母

    如何编写仅匹配字母的正则表达式 使用字符集 a zA Z 匹配 A Z 中的一个小写和大写字母 a zA Z 匹配一个或多个字母并且 a zA Z 仅匹配仅由一个或多个字母组成的字符串 and 分别标记字符串的开始和结束 如果您想匹配除 A
  • 不支持的 Perl 语法:`(?<`

    我想解析 cmd gpg list keys 的结果以将其显示在浏览器上 cmd输出是这样的 pub rsa3072 2021 08 03 SC expires 2023 08 03 07C47E284765D5593171C18F00B1
  • 如何仅计算数字长度正则表达式

    俄罗斯电话号码有11位数字 但我无法使用a 11 因为电话号码可以包含括号和破折号我的正则表达式 d 1 2 0 9 3 0 9 7 9 号码可以包含 1 到 2 个字符作为国家 地区代码然后 3 位带括号的数字或不作为电话运营商代码然后是
  • \d 只匹配0-9位数字?

    据我所知 d应该匹配非英文数字 例如 但它在 JavaScript 中不能正常工作 看这个jsFiddle http jsfiddle net xZpam http jsfiddle net xZpam 这是正常行为吗 JavaScript
  • Ruby 字符串上的扫描和匹配有什么区别

    我是 Ruby 新手 并且一直使用String scan搜索某个数字第一次出现的位置 返回值在嵌套数组中有点奇怪 但我只是去了 0 0 为了我想要的价值观 我确信它有它的用途 只是我还没有使用它 我刚刚发现有一个String match方法
  • 在Python中用空格分割字符串——保留带引号的子字符串

    我有一个像这样的字符串 this is a test 我正在尝试用 Python 编写一些内容 以将其按空格分开 同时忽略引号内的空格 我正在寻找的结果是 this is a test 附言 我知道您会问 如果引号内有引号会发生什么 嗯 在
  • 正则表达式匹配组,但组成员除外

    因此 有许多正则表达式可以匹配特定的组 如下所示 Any character except a newline m Any character the m modifier enables multiline mode w A word c
  • Laravel 规则和正则表达式 (OR) 运算符的问题

    我的 Laravel 规则和正则表达式操作有一个小问题 基本上 规则是一个数组 如下所示 room gt required alpha num min 2 max 10 我遇到的问题是使用正则表达式和 时 或 运算符 例如 cid gt r
  • 匹配 6 个字母数字字符串的正则表达式是什么?

    我需要 ASP NET 应用程序的正则表达式来匹配至少 6 个字符长的字母数字字符串 我对 ASP NET 不熟悉 但正则表达式应该是这样的 a zA Z0 9 6 and 分别表示字符串的开始和结束 a zA Z0 9 描述一个字母数字字
  • 使用正则表达式匹配以“Id”结尾的单词?

    如何组合一个正则表达式来匹配以 Id 结尾的单词并进行区分大小写的匹配 试试这个正则表达式 w Id b w 允许前面的单词字符Id和 b确保Id位于单词末尾 b是字边界断言
  • Javascript 替换为正则表达式无法正常工作

    我正在尝试使用正则表达式验证名称 正则表达式阻止用户连续输入 2 个空格或点 这是我的代码 function test input var regex A Za z 0 1 s 0 1 input value input value rep
  • 使用重复模式捕获正则表达式

    我试图捕获字符串的所有部分 但我似乎无法正确处理 该字符串具有以下结构 1 22 33 中间有运算符的数字 可以有任意数量的术语 我想要的是 1 22 33 1 22 33 但我得到 1 22 33 22 33 我尝试过各种正则表达式 这是

随机推荐