社区
Web 开发
帖子详情
重分(200)出击:正则表达式问题。求一个正则表达式。
软猫克鲁
2003-12-17 08:17:38
要求用一个正则表达式实现---只能是ASII码,并且不能含空格及如下字符: <>,:;'"+=@\[]
该问题困扰了我N久,一旦解决重分送出。
以下是我写的
1。不能输入特殊字符的:
^[^/\[\]\;\:\=\,\+\*\?\@\x3c\x3e\x22\x20]*$
2。ASII码
^[\x00-\x7F]*$
3。结合起来呢?
期待中……
...全文
116
21
打赏
收藏
重分(200)出击:正则表达式问题。求一个正则表达式。
要求用一个正则表达式实现---只能是ASII码,并且不能含空格及如下字符: ,:;'"+=@\[] 该问题困扰了我N久,一旦解决重分送出。 以下是我写的 1。不能输入特殊字符的: ^[^/\[\]\;\:\=\,\+\*\?\@\x3c\x3e\x22\x20]*$ 2。ASII码 ^[\x00-\x7F]*$ 3。结合起来呢? 期待中……
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
21 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
ChuRenYG
2003-12-21
打赏
举报
回复
深奥
dailindl
2003-12-21
打赏
举报
回复
学习,up
软猫克鲁
2003-12-21
打赏
举报
回复
不行啊:(
4y8
2003-12-19
打赏
举报
回复
这么试一试
^[^/\[\]\;\:\=\,\+\*\?\@\x3c\x3e\x22\x20\x00-\x7F]*$
4y8
2003-12-19
打赏
举报
回复
字符/
意义:对于字符,通常表示按字面意义,指出接着的字符为特殊字符,不作解释。
例如:/b/匹配字符’b’,通过在b 前面加一个反斜杠,也就是/b/,则该字符变成特殊字符,表示
匹配一个单词的分界线。
或者:
对于几个字符,通常说明是特殊的,指出紧接着的字符不是特殊的,而应该按字面解释。
例如:*是一个特殊字符,匹配任意个字符(包括0个字符);例如:/a*/意味匹配0个或多个a。为了匹配字面上的*,在a前面加一个反斜杠;例如:/a*/匹配’a*’。
字符^
意义:表示匹配的字符必须在最前边。
例如:/^A/不匹配"an A,"中的’A’,但匹配"An A."中最前面的’A’。
字符$
意义:与^类似,匹配最末的字符。
例如:/t$/不匹配"eater"中的’t’,但匹配"eat"中的’t’。
字符*
意义:匹配*前面的字符0次或n次。
例如:/bo*/匹配"A ghost booooed"中的’boooo’或"A bird warbled"中的’b’,但不匹配"Agoat g
runted"中的任何字符。
字符+
意义:匹配+号前面的字符1次或n次。等价于{ 1, }。
例如:/a+/匹配"candy"中的’a’和"caaaaaaandy."中的所有’a’。
字符?
意义:匹配?前面的字符0次或1次。
例如:/e?le?/匹配"angel"中的’el’和"angle."中的’le’。
字符.
意义:(小数点)匹配除换行符外的所有单个的字符。
例如:/.n/匹配"nay, an apple is on the tree"中的’an’和’on’,但不匹配’nay’。
字符(x)
意义:匹配’x’并记录匹配的值。
例如:/(foo)/匹配和记录"foo bar."中的’foo’。匹配子串能被结果数组中的素[1], ...,[n] 返
回,或被RegExp对象的属性, ..., 返回。
字符x│y
意义:匹配’x’或者’y’。
例如:/green│red/匹配"green apple"中的’green’和"red apple."中的’red’。
字符{ n }
意义:这里的n是一个正整数。匹配前面的n个字符。
例如:/a{ 2 }/不匹配"candy,"中的’a’,但匹配"caandy," 中的所有’a’和"caaandy."中前面的两个’a’。
字符{ n, }
意义:这里的n是一个正整数。匹配至少n个前面的字符。
例如:/a{ 2, }不匹配"candy"中的’a’,但匹配"caandy"中的所有’a’和"caaaaaaandy."中的所有’a’
字符{ n,m }
意义:这里的n和m都是正整数。匹配至少n个最多m个前面的字符。
例如:/a{ 1,3 }/不匹配"cndy"中的任何字符,但匹配 "candy,"中的’a’,"caandy," 中的前面两个
’a’和"caaaaaaandy"中前面的三个’a’,注意:即使"caaaaaaandy" 中有很多个’a’,但只匹配前面的三 个’a’即"aaa"。
字符[xyz]
意义:一字符列表,匹配列出中的任一字符。你可以通过连字符-指出一个字符范围。
例如:[abcd]跟[a-c]一样。它们匹配"brisket"中的’b’和"ache"中的’c’。
字符[^xyz]
意义:一字符补集,也就是说,它匹配除了列出的字符外的所有东西。 你可以使用连字符-指出一 字符范围。
例如:[^abc]和[^a-c]等价,它们最早匹配"brisket"中的’r’和"chop."中的’h’。
字符
意义:匹配一个空格(不要与b混淆)
字符b
意义:匹配一个单词的分界线,比如一个空格(不要与混淆)
例如:/bnw/匹配"noonday"中的’no’,/wyb/匹配"possibly yesterday."中的’ly’。
字符B
意义:匹配一个单词的非分界线
例如:/wBn/匹配"noonday"中的’on’,/yBw/匹配"possibly yesterday."中的’ye’。
字符cX
意义:这里的X是一个控制字符。匹配一个字符串的控制字符。
例如:/cM/匹配一个字符串中的control-M。
字符d
意义:匹配一个数字,等价于[0-9]。
例如:/d/或/[0-9]/匹配"B2 is the suite number."中的’2’。
字符D
意义:匹配任何的非数字,等价于[^0-9]。
例如:/D/或/[^0-9]/匹配"B2 is the suite number."中的’B’。
字符f
意义:匹配一个表单符
字符n
意义:匹配一个换行符
字符r
意义:匹配一个回车符
字符s
意义:匹配一个单个white空格符,包括空格,tab,form feed,换行符,等价于[ fnrtv]。
例如:/sw*/匹配"foo bar."中的’ bar’。
字符S
意义:匹配除white空格符以外的一个单个的字符,等价于[^ fnrtv]。
例如:/S/w*匹配"foo bar."中的’foo’。
字符t
意义:匹配一个制表符
字符v
意义:匹配一个顶头制表符
字符w
意义:匹配所有的数字和字母以及下划线,等价于[A-Za-z0-9_]。
例如:/w/匹配"apple,"中的’a’,".28,"中的’5’和"3D."中的’3’。
字符W
意义:匹配除数字、字母外及下划线外的其它字符,等价于[^A-Za-z0-9_]。
例如:/W/或者/[^$A-Za-z0-9_]/匹配"50%."中的’%’。
字符n
意义:这里的n是一个正整数。匹配一个正则表达式的最后一个子串的n的值(计数左圆括号)。
例如:/apple(,)sorange1/匹配"apple, orange, cherry, peach."中的’apple, orange’,下面有一个更加完整的例子。
注意:如果左圆括号中的数字比n指定的数字还小,则n取下一行的八进制escape作为描述。
字符ooctal和xhex
意义:这里的ooctal是一个八进制的escape值,而xhex是一个十六进制的escape值,允许在一个正则表达式中嵌入ASCII码
Jass
2003-12-18
打赏
举报
回复
自己测了一下,不能用/^ $/构造,这样会很复杂(整个表达式去匹配),
用这个:
regex = /[<>,:;\'\"\+=@\\\[\]\x3c\x3e\x22\x20]|[^\x00-\x7F]/;
这样的效果才是逐个字符匹配
Jass
2003-12-18
打赏
举报
回复
我不知道javascript的正则表达式的两个字符组进行AND操作用什么字符表示,我查了Js参考也没找到,只有|的操作,java里面是可以的,写成下面这样就可以了:
[\\x00-\\x7F&&[^<>,:;'\"\\+=@\\\\\\[\\]\\x3c\\x3e\\x22\\x20]]*
paulone
2003-12-18
打赏
举报
回复
超级看不懂,学习,学习!
zxdhaha
2003-12-18
打赏
举报
回复
学习学习,up
软猫克鲁
2003-12-18
打赏
举报
回复
能不能就用如下的逻辑实现啊?
if(regex.test(testStr)){
//合法字符串
}else{
//非法字符串
}
filippo1980
2003-12-18
打赏
举报
回复
看看,顺便学习一下
RobinHZ
2003-12-18
打赏
举报
回复
洗耳恭听……
软猫克鲁
2003-12-18
打赏
举报
回复
没有高手么?
zhonghua2003
2003-12-18
打赏
举报
回复
自己测了一下,不能用/^ $/构造,这样会很复杂(整个表达式去匹配),
用这个:
regex = /[<>,:;\'\"\+=@\\\[\]\x3c\x3e\x22\x20]|[^\x00-\x7F]/;
这样的效果才是逐个字符匹配
色老虫
2003-12-18
打赏
举报
回复
我小学文凭呀…………哭!!!非得上大学不可~~~~~~~~~~
软猫克鲁
2003-12-18
打赏
举报
回复
救命啊……:(
色老虫
2003-12-18
打赏
举报
回复
弓虽,我是文盲,看不懂…………谁能解释一下??
shining_ljr
2003-12-18
打赏
举报
回复
去学一下编译原理,就知道什么是正则表达式了,大学本科也就这点值钱,嘿嘿
Jass
2003-12-17
打赏
举报
回复
刚刚看了一下javascript的参考文档,好像javascript中没有&&运算符,
只有 | 运算府!
楼主想表达的是
^A & B ==== true
可以换一种思路:
A | ^B ==== false
写成js表达式则是:
var testStr = "abc[";
var regex = /^[<>,:;\'\"\+=@\\\[\]\x3c\x3e\x22\x20]|[^\x00-\x7F]$/;
if(!regex.test(testStr)){
//合法字符串
}else{
//非法字符串
}
Jass
2003-12-17
打赏
举报
回复
/^[\x00-\x7F&&^[/\[\]\;\:\=\,\+\*\?\@\x3c\x3e\x22\x20]]*$/
试试
加载更多回复(1)
算法leetcode|10.
正则表达式
匹配(rust重拳
出击
)
给你
一个
字符串 s 和
一个
字符规律 p,请你来实现
一个
支持 . 和 * 的
正则表达式
匹配。 . 匹配任意单个字符 * 匹配零个或多个前面的那
一个
元素 所谓匹配,是要涵盖 整个 字符串 s的,而不是部分字符串。
Java
正则表达式
全面解析与实战应用
简介:
正则表达式
是IT领域中强大的文本处理工具,广泛应用于字符串的匹配、查找、替换和分析。在Java中,通过java.util.regex包提供的Pattern和Matcher类,开发者可高效实现数据验证、文本提取等操作。本文档系统...
00-1-
正则表达式
学习心得:从入门到上瘾,再到克制
学习
正则表达式
的正确路径:从概念到实践 很多人觉得
正则表达式
难学,往往是因为陷入了"改改能用就行"的浅层学习误区。本文分享了作者Cleland的学习经验:首先需要系统性地理解正则背后的概念模型(字符组...
pihole-regex vs 普通拦截列表:为什么
正则表达式
是广告拦截的终极武器?
而**pihole-regex**项目则为Pi-hole带来了更强大的拦截能力——通过
正则表达式
(Regex)实现智能广告过滤,让广告拦截从"被动防御"升级为"主动
出击
"。 ## 普通拦截列表的局限性:静态防御的痛点 传统
正则表达式
内的常用的函数 <2>
# -*- coding:utf-8 -*- # 正则函数 import re # 1,match() # 2 search() string = "hel3lo wor5ld hel4lo, he,he6ll,hool" pattern = re.compile("h.*?l") # 3 f...
Web 开发
81,114
社区成员
341,728
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章