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

用于字母数字字符加括号和空格的正则表达式

墨寂弦
2023-03-14

我试图构建一个正则表达式来匹配这些字符串:

  1. jfldfldf ldjfdlf ldfl
  2. ldfldf 8998 dfjldjf 89dfdf DF899
  3. ljdljf[dff]DFDFDF(fdfdf)898

要求:

  1. 字符串应仅以任何小写或大写字符(A-Z)开头
  2. 它可能包含空格或括号(( ) [ ]
  3. 不允许任何其他特殊字符

我尝试了/^[a-zA-Z][\sa-zA-Z0-9\[\]\(\)]. /m,但它仍然接受其他特殊字符。

共有3个答案

周子平
2023-03-14

该正则表达式中最大的缺陷是单个“.”。它用作匹配除新行之外的任何值的通配符。不需要加号符号,并且缺少字符串字符“$”的结尾。

/^[a-zA-Z][\sa-zA-Z0-9\[\]\(\)]$/m
丌官嘉良
2023-03-14
/^[a-zA-Z]{1}[a-zA-Z0-9\ \[\]\(\)]+$/m

\s=允许空格制表符和新行等空格,所以这可能应该是“\”

因为规则是只有第一个字母需要是大写或小写字母,严格来说它的{1}表示一个或多个。

最后需要一个$来表明这是线的尽头,没有其他东西可以跟随它

郎成龙
2023-03-14

如此接近。

/^[a-zA-Z]+[\sa-zA-Z0-9\[\]\(\)].+/m
          ^                     ^ ^-- missing $
          ^                     ^-- delete this dot
          ^-- you could also delete this plus, but that's not as important
 类似资料:
  • 其中,我需要包括连字符和空格。 这意味着还必须可以输入值“”。

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

  • 我试图匹配包含字母数字、连字符、下划线和空格的字符串。 连字符、下划线、空格和数字是可选的,但第一个和最后一个字符必须是字母。 例如,这些都应该匹配: 我试过这个: 但它在开始/结束时与空格、下划线或连字符匹配,但它应该只允许在两者之间。

  • 我需要在以下条件下使用C#中的正则表达式匹配字符串: 整个字符串只能是字母数字(包括空格) 最大长度不得超过15个字符(包括空格) 首先 如果这些先决条件中的任何一个被打破,比赛就不会进行。 以下是我目前掌握的情况: 下面是一些应该匹配的测试字符串: 堆栈溢出 伊姆特最伟大的 一个 超人23s 一二三 还有一些不应该匹配的(注意空格): 堆叠 [double_space] 溢流岩石 23你好 这是

  • 我使用的是PHP,但对正则表达式不是很好。我需要一个preg_替换,如果字母或数字相邻,可以添加空格。 这些是场景: 谢谢

  • 问题内容: 如果我有一个类似“ 11E12C108N”的字符串,该字符串是字母组和数字组的串联,那么如何在没有分隔符的情况下拆分它们? 例如,我希望得到的拆分为: 我现在有这个。 这给了我: 我可以一次完成原始正则表达式的完全分割吗?不必在中间令牌上再次运行正则表达式? 问题答案: 使用以下正则表达式,并获取所有匹配项的列表。那就是您要寻找的。 在Java中,我认为代码如下所示: