首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >对reg-ex编译的修改

对reg-ex编译的修改
EN

Stack Overflow用户
提问于 2011-07-04 05:17:03
回答 1查看 116关注 0票数 0

我有以下Regex用于匹配PHP类、方法和函数名来验证它们,它最初取自PHP的站点(链接如下)

问题是它不匹配单个字符类,例如:

代码语言:javascript
运行
复制
class a{}
class b{}
class A{}
class B{}

准则是:

代码语言:javascript
运行
复制
[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*

现在我并不擅长正则表达式,因为如果我能帮忙的话,我选择不使用它们,但在这一次我选择使用它们。

我需要对正则表达式做两个基本的修改:

允许单character's

  • Cannot以__开头(但可以以单个下划线和字母开头)

有什么正则表达式大师能帮我吗。

问候

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-07-04 05:25:09

这是可能的答案:

单焦炭类:

代码语言:javascript
运行
复制
var_dump(preg_match('~^(_(?!_)|[a-zA-Z\x7f-\xff])[a-zA-Z0-9_\x7f-\xff]*$~', 'a')); // 1

单下划线类:

代码语言:javascript
运行
复制
var_dump(preg_match('~^(_(?!_)|[a-zA-Z\x7f-\xff])[a-zA-Z0-9_\x7f-\xff]*$~', '_')); // 1

双下划线类:

代码语言:javascript
运行
复制
var_dump(preg_match('~^(_(?!_)|[a-zA-Z\x7f-\xff])[a-zA-Z0-9_\x7f-\xff]*$~', '__a')); //0
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6567542

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档