网页
资讯
视频
图片
知道
文库
贴吧
地图
采购
进入贴吧
全吧搜索
吧内搜索
搜贴
搜人
进吧
搜标签
日
一
二
三
四
五
六
签到排名:今日本吧第
个签到,
本吧因你更精彩,明天继续来努力!
本吧签到人数:0
一键签到
成为超级会员,使用一键签到
一键签到
本月漏签
0
次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行
补签
。
连续签到:
天 累计签到:
天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
04月26日
漏签
0
天
正则表达式吧
关注:
3,143
贴子:
8,810
看贴
图片
吧主推荐
游戏
29
回复贴,共
1
页
<<返回正则表达式吧
>0< 加载中...
这个是用零宽断言的吗?
只看楼主
收藏
回复
marchwen01
后起之秀
7
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
dying a.垂死的,临终的
dye vt.&vi.染,染色 n.染料,染色
duty n.责任,义务;职责,职务;税,关税
dusty a.多灰尘的,灰蒙蒙的;粉末状的;灰色的
dustbin n.垃圾箱
转变为:
d-y-i-n-g a.垂死的,临终的
d-y-e vt.&vi.染,染色 n.染料,染色
d-u-t-y n.责任,义务;职责,职务;税,关税
d-u-s-t-y a.多灰尘的,灰蒙蒙的;粉末状的;灰色的
d-u-s-t-b-i-n n.垃圾箱
空白字符后面的字母不要加 "-"
那些字母间的位置怎么写正则表达式?
我写了个零宽断言,可以连后面的也匹配了。
(?!^)(?=[a-z])
自由de王国
自成一派
12
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
你是要给每行第一个单词的字母之间添加-,是吧?
((?:^|\G)[a-zA-Z](?! ))
替换成
\1-
打开mg模式
自由de王国
自成一派
12
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
vba的话,可能要用$1-,就是第一个分组,后面加一个横杠。
替换一般有专门的函数
marchwen01
后起之秀
7
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
Sub 负向零宽断言()
Dim i%, rg$
With CreateObject("vbscript.regexp")
.Global = True
.Pattern = "((?:^|\G)[a-zA-Z](?! ))"
i = 1
Do While Cells(i, 1) <> ""
rg = Cells(i, 1)
Cells(i, 2) = .Replace(rg, "\1-")
i = i + 1
Loop
End With
End Sub
这是我写出来的代码。
自由de王国
自成一派
12
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
\1或者$1都是后向引用,我是用了一个非捕获,是因为那个分组没用,不影响我引用第一个分组。
我没用过vba,不过你replace是不是少了个参数啊?代表要查找的正则表达式的
自由de王国
自成一派
12
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
你说第一个单词的每个字母都可以匹配到的意思是说最后一个字母后面也加了横杠?单词后面是英文空格吧?
自由de王国
自成一派
12
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
要是你能贴一下图就更好了
梦醒是自由
武林新贵
8
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
如果要用零宽断言,需要<变长逆序环视>,不是所有正则表达式引擎都支持<变长逆序环视>
这个正则式在python的regex模块下实测成功,python自带的re模块则不行
(?<=^[a-zA-Z]+)(?!\s)
marchwen01
后起之秀
7
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
marchwen01
后起之秀
7
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
(?<=^[a-zA-Z]+)(?=[a-zA-Z])
以字母开始,每个字母的左侧,结束在第一个 字母串 最后一个字母的前面?
登录百度账号
扫二维码下载贴吧客户端
下载贴吧APP
看高清直播、视频!
贴吧页面意见反馈
违规贴吧举报反馈通道
贴吧违规信息处理公示