如何检查字符串以$符号开头,可以有字母表和正数



我正在尝试检查哪个字符串:

  1. 必须从$符号开始
  2. 后面跟着$符号,它可以有字母和数字(没有符号(
  3. 不允许使用特殊字符和空格(开头的$符号除外(

is_match = re.search("^$[a-zA-Z0-9]", word)

我面临的问题

它接受我字符串中的特殊字符和空格。

将正则表达式修改为:

^$[a-zA-Z0-9]+$
  1. ^在一行的开头断言位置
  2. $与开头的字符$匹配
  3. [a-zA-Z0-9]+匹配这些字符一次或多次
  4. $断言行末尾的位置

解释:

  1. 您基本上是在搜索以"$abc123456789",所以你的字符串如何结束并不重要。我刚刚在正则表达式的末尾添加了$,该正则表达式在一行的末尾
  2. 它确保整个字符串仅由字母组成和数字什么都没有

来源(运行(:

regex = r"^$[a-zA-Z0-9]+$"
test_str = ("$abc123     ")
is_match = re.search(regex, test_str)
if(is_match):
print("Yes")
else:
print("No")

演示

正则字符串中的Backsplash在正则表达式引擎看到它们之前由Python处理。通常在正则表达式周围使用一个原始字符串(或将所有反斜杠加倍(。

此外,正则表达式只需检查美元符号后是否(至少(有一个字母数字字符。如果你想检查整个字符串,你需要创建一个检查整个字符串的正则表达式。

is_match = re.search(r"^$[a-zA-Z0-9]+$", word)

is_match = re.search("^\$[a-zA-Z0-9]+$", word)

相关内容

  • 没有找到相关文章