【发布时间】:2016-02-01 18:27:40
【问题描述】:
尝试了不同的正则表达式生成器,但没有成功。
我在 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 对我来说似乎很容易理解,但我的字符串对于我的知识来说太高级了。
谢谢。
【问题讨论】:
-
[a-z_]+匹配具有_的用户名有什么问题?为什么这么长的正则表达式? -
你到底为什么要限制用户名?
-
由于您没有向我们展示输入样本,我们无法为您提供帮助。 “用户名”本质上是无用的信息。 ANYTHING 可以是用户名,这意味着
/.*/将是一个有效的正则表达式。
标签: php regex preg-match