匹配任意字符问题汇总

本文介绍了在JavaScript和C#中如何处理正则表达式匹配任意字符,特别是遇到换行符的情况。通过[sS]*?解决点号"."不匹配换行符的问题,并探讨了RegexOptions.Multiline和RegexOptions.Singleline在C#中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

javascript

今天闲着无事写了几个增强98功能的javascript脚本,其中有一个是点击“引用”按钮不会跳转到回复页面,而是直接通过ajax调用解析回复页面,从中获得引用文本,再放到快速回复输入框里。有一个步骤是要把引用文本从回复页面的html中抽取出来,当然想到用正则表达式了。
    问题出现了,因为引用文本是在一个textarea里面的,所有我用/(.*)<\/textarea>/这个正则表达式来匹配,结果发现匹配失败= =经过一番调试发现原来正则表达式中的“.”不能匹配换行符。网上一搜果然有人给出了解决方案,非常巧妙。本来\s是匹配所有空白字符,\S是匹配所有非空白字符,那么[\s\S]这个组合不就是匹配所有字符了么!把上面的正则表达式改成/([\s\S]*)<\/textarea>/再试一次,成功了。据说其他的组合比如\w\W也是可以的,不过我没有试。

正则表达式可以用.*匹配任意除换行之外的字符。但如果内容中包含任意多个换行怎么匹配?用.*是匹配失败的。但可以用[\s\S]*?。

例如,输入为:

This is some text

Another line

Third line

Some text here, END

Other

匹配其中的URL和TLB内容的正则表达式为

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

huangleijay

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值