正则表达式匹配hashtag,空格然后是字符

时间:2014-01-28 11:16:26

标签: php regex

好的,所以我一直在阅读正则表达式,他们很有趣!

我一直在寻找匹配# 54jsfjk# ffskkkkkkkkkkkkkkkkk884587923572957

之类的字符串

以下是否足够:/# \w*/i

我试图替换的字符串只存在一行(后面有更多的行),所以我想匹配后的所有内容都不好。

使用^$只选择单行吗?

我正在使用的文件看起来像这样:

HEADER

# stringthatsreplaced

OTHER HEADER
- Stuff
- More Stuff

ANOTHER HEADER
- Even more stuff
- Last stuff

1 个答案:

答案 0 :(得分:1)

如果您想使用锚点,您还需要使用多线模式:

/^# \w*$/m

*正如Robin在评论中正确指出的那样,此处不需要不区分大小写的标志,因为\w已经不区分大小写。使用它并没有什么坏处,但它在这个特定的正则表达式中没有做任何事情。

否则,^$将仅匹配文件/文本块的开头(不是行),而$仅匹配文件/文本块的结尾。

我不确定你是否也有空格或其他角色,但如果你这样做,你将需要使用除\w*以外的其他东西。 .*应该正常工作以匹配以#开头的整行:

/^# .*$/m