我有以下用于匹配PHP类,方法和函数名称的Regex来验证它们,它最初取自PHP的网站(Linked Below)
问题是它与单个字符类不匹配,例如:
class a{}
class b{}
class A{}
class B{}
正则表达式是:
[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*
现在我不是超级正规表达式,因为我选择不使用它们,但是在这种情况下我选择使用它们。
我需要对正则表达式进行2次基本修改:
是否有任何正则表达大师可以帮助我。
此致
答案 0 :(得分:2)
这是可能的答案:
单一的char类:
var_dump(preg_match('~^(_(?!_)|[a-zA-Z\x7f-\xff])[a-zA-Z0-9_\x7f-\xff]*$~', 'a')); // 1
单下划线课程:
var_dump(preg_match('~^(_(?!_)|[a-zA-Z\x7f-\xff])[a-zA-Z0-9_\x7f-\xff]*$~', '_')); // 1
双下划线类:
var_dump(preg_match('~^(_(?!_)|[a-zA-Z\x7f-\xff])[a-zA-Z0-9_\x7f-\xff]*$~', '__a')); //0