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

如何验证字符串仅包含字母,数字,下划线和破折号?

曹驰
2023-03-14
问题内容

我知道如何遍历字符串中的所有字符,但是我正在寻找一种更优雅的方法。


问题答案:

正则表达式只需很少的代码即可解决问题:

import re

...

if re.match("^[A-Za-z0-9_-]*$", my_little_string):
    # do something here


 类似资料:
  • 所有: 我想做的是使用正则表达式匹配一个只允许[a-Za-z0-9_-]的字符串,格式应该是: 仅从[A-Za-z0-9]开始,然后是[A-Za-z0-9_-]。中间可能有[_-],但如果有,则只允许一次(两个_-,但每个都只有一次机会),并以[A-Za-z0-9]结束。 我只知道如何匹配字母数字字符、破折号和下划线,但不知道如何限制它们的出现时间。 谢谢

  • 问题内容: 我正在尝试验证我的字符串是否与模式匹配。也就是说,完整的字符串可以写为该模式。但是,如果有任何子字符串匹配该模式,则返回。(如回报,这是我不想在这个例子中,我宁愿验证,整个字符串只含有少量拉丁字母)。 问题答案: 您可以使用 开始 和 结束 标记,并分别指示开始,在您的正则表达式模式的字符串的结尾。这样,您可以使表达式仅匹配整个字符串,而不匹配任何子字符串。在您的情况下,它将如下所示:

  • 我正在寻找限制行编辑的方法,以仅接受字母数字字符、破折号和下划线(整行可能只有一个破折号和一个下划线),没有空格。我正在查看RegExp,但后来我留下了这个选项,因为我发现一些博客文章解释说RegExp真的很慢。现在我不知道限制行编辑的最佳方法是什么,所以输出将是我想要的。 你推荐我什么?

  • 我正在编写文件上传页面脚本(Javascript)。用户从他们的机器中选择一个文件。 我需要从包含文件名的字符串中删除任何不是: 一封信 我一直在尝试使用Javascript替换函数来删除不必要的字符。我可以使用以下方法删除所有非字母数字部分: 这会留下字母、数字和下划线,但我还需要允许破折号和句点。我不确定选择破折号和句点的正确正则表达式是什么。

  • 问题内容: 在JS中,我使用了以下代码: 但是我不知道如何在PHP中做到这一点。 问题答案: 使用preg_match()。

  • 问题内容: 我有这个模特 我希望用户在两个字段中都不能使用字母数字以外的任何其他字符。 有什么办法吗? 问题答案: 您将使用验证器来限制字段接受的内容。A可以在这里实现窍门: 请注意,已经有一个验证器可以为您验证电子邮件地址。上述验证器将不允许使用有效的电子邮件地址。