当前位置: 首页 > 面试题库 >

https://stackoverflow.com/questions/336210/regular-expression-for-alphanumeric-and-underscores/336220#336220

钱季
2023-03-14
问题内容

我想使用一个正则表达式来检查字符串是否仅包含大写和小写字母,数字和下划线。


问题答案:

要匹配仅包含这些字符的字符串(或空字符串),请尝试

"^[a-zA-Z0-9_]*$"

这适用于.NET正则表达式,也可能适用于许多其他语言。

分解:

^ : start of string
[ : beginning of character group
a-z : any lowercase letter
A-Z : any uppercase letter
0-9 : any digit
_ : underscore
] : end of character group
* : zero or more of the given characters
$ : end of string

如果您不想允许使用空字符串,请使用+代替*。

正如其他人指出的那样,某些正则表达式语言具有的简写形式[a-zA-Z0-9_]。在.NET正则表达式语言中,您可以打开ECMAScript行为并将其\w用作速记(产量^\w*$或^\w+$)。请注意,在其他语言中,默认情况下在.NET中,\w它的范围更广,并且将与其他类型的Unicode字符匹配(感谢Jan指出了这一点)。因此,如果您真的只想匹配那些字符,则最好使用显式(较长)形式。



 类似资料:
  • 问题内容: 我下载了pip并运行python setup.py install,一切正常。本教程的下一步是运行,pip install 但是甚至在尝试在线查找任何内容之前,我都会收到错误消息“ bash:pip:not found”。 这是在Mac OS X上,这也是我的新手,因此我假设有些路径设置在我运行setup.py时未正确设置。我该如何进一步调查?我需要检查什么才能更好地了解问题的确切原因

  • 介绍 ^[0-9]+abc$ ^ 为匹配输入字符串的开始位置。 [0-9]+匹配多个数字, [0-9] 匹配单个数字,+ 匹配一个或者多个。 abc$匹配字母 abc 并以 abc 结尾,$ 为匹配输入字符串的结束位置。 语法 非打印字符 \cx 匹配由x指明的控制字符。例如, \cM 匹配一个 Control-M 或回车符。x 的值必须为 A-Z 或 a-z 之一。否则,将 c 视为一个原义的

  • Regular Expression Matching 描述 Implement regular expression matching with support for '.' and '*'. '.' Matches any single character. '*' Matches zero or more of the preceding element. The matching sho

  • 问题内容: 我想了解内置函数的工作原理。令我感到困惑的是,它还可以用作装饰器,但是仅当用作内置函数时才接受参数,而不能用作装饰器。 这个例子来自文档: 的论点是,,和文档字符串。 在下面的代码中用作装饰器。它的对象是x函数,但是在上面的代码中,参数中没有对象函数的位置。 在这种情况下,x.setter和x.deleter装饰器是如何创建的? 问题答案: 该函数返回一个特殊的描述符对象: 正是这种对

  • 问题内容: 我将项目更新为Struts2 2.3.20版。现在,我的JSP中使用静态方法访问的所有情况都不起作用。 即。 我已经在我的struts.properties中设置了-> 并在struts.xml->中尝试过 没有成功。有谁知道发生了什么变化,我需要怎么做才能再次启用它们? 问题答案: 更新资料 卢卡斯·莱纳特(Lukasz Lenart)评论: 需要明确的是,在2.3.20的上下文中,

  • 正则表达式是烦琐的,但是强大的,学会之后的应用会让你除了提高效率外,会给你带来绝对的成就感。只要认真去阅读这些资料,加上应用的时候进行一定的参考,掌握正则表达式不是问题。