preg_match正则表达式语法


preg_match regex syntax

尝试了不同的正则表达式生成器,但没有运气。

我有这个字符串,我放在preg_match:

$search_string = "/^:([A-Za-z0-9_'-]+)[@!~a-zA-Z0-9@'.'-]+'s*([A-Z]+)'s*[:]*(['#a-zA-Z0-9'-]+)*'s*[:]*([!'#'-'.A-Za-z0-9 ]+)*/";  

它基本上是针对用户名的。可悲的是,当用户名中有下划线时。例如,iam_coolguy不起作用。

如何在此搜索字符串中添加下划线?我似乎无法弄清楚正则表达式是如何工作的。

它不是重复的,滚动到所有preg_match线程。

/

[a-z]/i 对我来说似乎很容易理解,但我的字符串对于我的知识来说太高级了。

谢谢。

如果你只是想在//之间抓取一些东西

我只会使用这个正则表达式'/(.*)'/

但正如其他人所说,您没有对用户名可以包含和不能包含的内容进行任何限制。

如果你需要更多,说些什么,我会调整我的答案。