正则表达式将确保字符串中空格后的第一个字符是 `#`

标签 regex

尝试构建一个正则表达式来验证看起来像这样的字符串

#tag #tag2 #tag3 而不是这样 #tag1 tag2 tag3

我需要一个正则表达式来确保字符串中空格后的第一个字符是 #

我进行了检查以确保第一个字符是#,但这是我所能得到的。

pattern: /^\#/

最佳答案

您可以使用此正则表达式:

^#[^#\s]*(?:\s#[^#\s]*)*$

RegEx Demo

正则表达式分解:

  • ^:开始
  • #:匹配#
  • [^#\s]*:匹配 0 个或多个非 # 且非空格的字符
  • (?::启动非捕获组
    • \s:匹配空格
    • #:匹配#
    • [^#\s]*:匹配 0 个或多个非 # 且非空格的字符
  • )*:结束非捕获组
  • $:结束

关于正则表达式将确保字符串中空格后的第一个字符是 `#`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73976390/

相关文章:

python - 在 pandas dataframe python 列中搜索单词

c# - 如何从字符串中删除字符,列表中的字符除外

regex - 删除由字符串组成的行

用于快速路由器 url 的正则表达式以匹配以/public/开头的路径

Python - 正则表达式以避免匹配重复项

python - 从列中提取数字以在 Pandas 中创建新列

regex - 使用AWK 在满足条件时提取数据?

regex - 如何使用 Perl 获取数字的最后两位数字?

javascript - 如何使用正则表达式将重叠子字符串作为整个单词(多次出现)进行匹配?

javascript - Unicode RegEx 不匹配外来字符