正则表达式匹配具有以散列开头并以空格结尾的特殊字符的单词

标签 regex special-characters

给定文字:

This is a #tag and this is another #love@irc.oftc.net and more text.

我想匹配以散列开头并以空格字符结尾的单词(我不想为 #love@irc.oftc.net 指定特定模式)。

我不能使用 lookarounds 并且不想使用 \b

我尝试了 #.*\b#.*\s,这将比我要求的更多。我猜 * 也将匹配空格,因此最后一次检查被忽略。

我使用 https://regexr.com/用于测试。

最佳答案

你可以使用

#\S+

regex demo .

详情

  • # - # 符号
  • \S+ - 1 个或多个除空格以外的字符(也可以写为 [^\s]*,但 \S 只是更短)。

作为一种可能的增强功能,您仍然可以考虑使用单词和非单词边界。例如,当你想避免匹配 abc#tagliketext 或者当你需要避免匹配标签末尾的标点符号时,你可以考虑使用

\B#\S+\b

another regex demo . \B 非单词边界如果在 # 之前有一个单词 char 将匹配失败,而 \b 将在最右边之前停止匹配非单词字符。

关于正则表达式匹配具有以散列开头并以空格结尾的特殊字符的单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49298599/

相关文章:

regex - 匹配两边至少有一个空格的单词

java - 正则表达式城市名称

python - 如何从 Pandas DF 中删除特殊字符?

java - 在 Java 中存储和解析 HTML 时出现特殊字符和符号问题

html - 如何将样式应用到页面上的单个特殊 HTML 字符

javascript - 如何添加带有特殊字符的字符串作为json键?

regex - PowerShell - 替换方括号?

java - 匹配正则表达式Java之后和之前的所有内容

javascript - 正则表达式查找所有出现的字符串然后找到它之后的下一个空格

c - 如何从文件中读取带有特殊字符的浮点型数字