小白求助,关于‘点号’部分匹配是怎么个匹配法
perl吧
全部回复
仅看楼主
level 3
现在又不加表情了?
楼主
这是书里的截图(Perl 语言入门第六版),里面标记紫色箭头的两处地方,实在看不懂是怎么个操作法
一段文本里面点号可能千千万万个,“部分点号”是按什么原则来指定的呢
有没有大佬给个例子解释一下,谢谢🙏
2022年11月14日 03点11分
1
level 4
啊依哟啊依哟
部分点就是你希望不包括换行符的那些点啊
2022年11月14日 05点11分
2
现在又不加表情了?
我知道是“我希望不包括换行符的那些点”,我的意思是,文本是不确定的,就好像截图里面的例子,里面有四个换行符,我不想匹配到第三个换行符,改如何指定。如果这个判断同时要试用于一个一百多行的文本,里面有不知道多少个换行符,我又该如何修改这个正则匹配
2022年11月15日 02点11分
现在又不加表情了?
不知道我有没有表达清楚
或者说书里的说法并不适用于我上面表达的场景
2022年11月15日 02点11分
现在又不加表情了?
谢谢大佬的解答,我以前没怎么学习正则,一时半会理解不来,我去找些实例看看
2022年11月15日 03点11分
啊依哟啊依哟
@现在又不加表情了?
笑死,是我理解错了。像你说的这种情况单纯用正则比较麻烦吧。
2022年11月15日 08点11分
level 1
正则奇之
书上的点指的是正则表达式中的点
a.*?b.*
a[\d\D]*?b.*
a[\s\S]*?b.*
另外,欢迎到Q的正则表达式频道讨论正则相关问题:
https://pd.qq.com/s/f1o04f
2022年11月15日 03点11分
3
现在又不加表情了?
所以按照书里的指示,部分点号匹配换行符就必须用您举例的第二个和第三个的书写方法: a[\d\D]*?b.* a[\s\S]*?b.* 而不能简单地在整个模式的后面写上 /s 修饰符,是这个意思吗
2022年11月15日 08点11分
正则奇之
@现在又不加表情了?
对的,书上意思就是直接加上/s就把表达式中所有位置的.含义变化了,如果只需要表达式中的部分.变换,就手动修改成[\d\D][\s\S][\w\W]等形式
2022年11月15日 08点11分
现在又不加表情了?
@正则奇之
理解了,谢谢大佬
2022年11月15日 17点11分
level 3
现在又不加表情了?
楼主
好像无法修改我主楼的内容,有一个表达错误,应该是:
一段文本里面的 换行符 可能有千千万万个
2022年11月15日 08点11分
4
1