s 修饰符:dotAll 模式
s 修饰符:dotAll 模式
正则表达式中,点(.
)是一个特殊字符,代表任意的单个字符,但是行终止符(line terminator character)除外。
以下四个字符属于”行终止符“。
- U+000A 换行符(
\n
) - U+000D 回车符(
\r
) - U+2028 行分隔符(line separator)
- U+2029 段分隔符(paragraph separator)
/foo.bar/.test('foo\nbar')
// false
上面代码中,因为.
不匹配\n
,所以正则表达式返回false
。
但是,很多时候我们希望匹配的是任意单个字符,这时有一种变通的写法。
/foo[^]bar/.test('foo\nbar')
// true
这种解决方案毕竟不太符合直觉,所以现在有一个提案,引入/s
修饰符,使得.
可以匹配任意单个字符。
/foo.bar/s.test('foo\nbar') // true
这被称为dotAll
模式,即点(dot)代表一切字符。所以,正则表达式还引入了一个dotAll
属性,返回一个布尔值,表示该正则表达式是否处在dotAll
模式。
const re = /foo.bar/s;
// 另一种写法
// const re = new RegExp('foo.bar', 's');
re.test('foo\nbar') // true
re.dotAll // true
re.flags // 's'
/s
修饰符和多行修饰符/m
不冲突,两者一起使用的情况下,.
匹配所有字符,而^
和$
匹配每一行的行首和行尾。
s 修饰符:dotAll 模式相关推荐
- 08.28 JavaScript 边界 选择修饰符 模式单元 修饰符 正则的使用
#### 边界的修饰 * \b 单词边界 * \B 不是单词边界 * ^ 字符串开始边界 * $ 字符串结束边界 * 先行断言(正向预查) (?=) * 负向 ...
- PHP正则表达式修饰符
i(PCRE_CASELESS) 如果设置了这个修饰符,则表达式不区分大小写. m(PCRE_MULTILINE) 默认的,PCRE认为目标字符串值是单行字符串(即使他确实包含多行).行开始标记(^) ...
- php正则中不支持g修饰符吗,Pattern Modifiers – 规则表达式的修饰符(转载)发现PHP里有些正则表达式的应用和PERL里的不一样。。所…-PHP教程,PHP应用...
pattern modifiers – 规则表达式的修饰符 下面是当前规则表达式里可用的修饰. 括号内的名字是那些修饰符的内部 pcre 名字. i (pcre_caseless) 如果设置了这个修饰 ...
- Mongoose 预定义模式修饰符 Getters 与 Setters 自定义修饰符
一.mongoose 预定义模式修饰符 lowercase.uppercase .trim mongoose 提供的预定义模式修饰符,可以对我们增加的数据进行一些格式化. var UserSchema ...
- (13)C#传智:访问修饰符,简单工厂模式,序列化与反序列化,部分类,密封类,接口(第13天)
内容超级多,慢慢来... 深入BinaryFormatter 一.访问修饰符 public: 公共的,公开的 private:私有的,只能在当前类的内部访问 protected:受保持 ...
- java正则全局匹配_正则表达式全局匹配模式(g修饰符)
正则表达式g修饰符: g修饰符用语规定正则表达式执行全局匹配,也就是在找到第一个匹配之后仍然会继续查找. 语法结构: 构造函数方式: new RegExp("regexp",&qu ...
- 重新精读《Java 编程思想》系列之public,protected,private与无修饰符权限的区别...
前言 相信大家在平时的工作中对于public和private的修饰权限是用的比较多的.对于protected和无修饰符用的是比较少的.我也一样,在读书的时候,又看到了这个问题,于是,在此进行总结和详细 ...
- 黑马vue---13、事件修饰符的介绍
黑马vue---13.事件修饰符的介绍 一.总结 一句话总结: .stop 阻止冒泡:input type="button" value="戳他" @click ...
- __block和__weak修饰符的区别
block下循环引用的问题 __block本身并不能避免循环引用,避免循环引用需要在block内部把__block修饰的obj置为nil __weak可以避免循环引用,但是其会导致外部对象释放了之后, ...
最新文章
- idea log 不输出error_还在使用console.log()吗?Bunyan:一个简单易用的JS日志框架
- 深圳市收运体系运营管理_房地产企业如何搭建运营管理体系
- JAVA删除临时文件
- 【CentOS】安装部署jenkins从git获取代码[转]
- 面试官让我用channel实现sync包里的同步锁,是不是故意为难我?
- bzoj1691/luogu2869 [USACO07DEC]挑剔的美食家 (STL::set)
- html给table加外边框,如何给table添加边框
- java怎么从数据库中查询_java – 从数据库中检索的实体与查询中的情况相同
- java 访问器_网络之美 JavaScript中Get和Set访问器的实现代码
- row_number() over
- 位姿矩阵求逆 (搬运)
- SQL教程数据库视频数据分析教程Sql Server|MySQL|Oracle视频教程
- 内置RTK北斗高精度定位的智能安全帽完成调试,上报至smarteye平台
- windows10桌面_32位windows10系统正式版推荐下载
- 硬件开发笔记(七): 硬件开发基本流程,制作一个USB转RS232的模块(六):创建0603封装并关联原理图元器件
- qq空间个人档html代码,最新整理QQ空间全代码
- 发起一款国产开源CRM系统,有想共同参与的进来哈,己发出SVN库
- 开发一个安卓App-计算器-改色换肤(完结篇)
- 华为路由TC7102实现一根网线分离同时支持路由器无线网络使用和电信IPTV机顶盒播放的方法步骤
- 搜索引擎蜘蛛 ajax,了解搜索引擎蜘蛛习性 助力内页顺畅收录