正则表达式(Regular Expression)是用单字符串来匹配一系列复合条件字符串的模式,对于乔姆斯基3型语法。javascript
数学定义:
串行AB表示集合 {αβ | α ∈ A ,β ∈ B }
并行A|B表示集合{α | α ∈ A or α ∈ B}
子集复合A* 表示集合{a,b} = {ε,a,b,aa,ab,bb...}html
这种定义下的正则表达式可以被有限自动机解析。java
同其余编程概念,转义有两种做用:react
//1. string 操做的字符串 //2. regex 正则表达式 //3. replacement 须要替换的效果 string.replace(regex,replacement) //demo— /g表示全局替换 str = str.replace(/raw/g,"dealed");
调用博客园API直接返回的内容不能只用react native中的html解析组件直接使用。
能够使用JS正则进行处理。正则表达式
需求:<a href="url"><img src = "url" border="0" onload="..."/></a>
替换成 <img src="url"/>
编程
//$1表示第一个参数(.*?)匹配到的部分 function ConvertPicture(raw){ let result = raw.replace(/<a href=(.*?) target="_blank"><img(.*?)<\/a>/g,'<img src=$1 alt="图片"/>'); return result; }
一样,其余的转换相似。
需求:<a href="http://www.hao123.com" target="_blank">测试超连接</a>
转换成 [测试超连接]("url")
测试
function ConvertHref(raw){ let result = raw.replace(/<a href=(.*?) target="_blank">(.*?)<\/a>/g,'["$2"]("$1")'); return result; }