Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在正则表达式中创建匹配?_Javascript_Regex_Regular Language - Fatal编程技术网

Javascript 如何在正则表达式中创建匹配?

Javascript 如何在正则表达式中创建匹配?,javascript,regex,regular-language,Javascript,Regex,Regular Language,这是我的绳子 eewer <br> <br/> <div> ss</div> <img src=".."> dffdfdf df df sdf eewerss-dffdf-df-sdf 我需要删除所有标签并将br替换为\n 例如: 以前 eewerss-dffdf-df-sdf 之后 eewer\n\n ss dffdfdf df sdf如果要保留\n: var str='eewerss-dffdf-df-sdf'; consol

这是我的绳子

eewer <br> <br/> <div> ss</div> <img src=".."> dffdfdf df df sdf
eewer

ss-dffdf-df-sdf
我需要删除所有标签并将br替换为
\n

例如:

以前

eewer

ss-dffdf-df-sdf

之后


eewer\n\n ss dffdfdf df sdf
如果要保留
\n

var str='eewer

ss-dffdf-df-sdf';
console.log(str.replace(/(
)/g,'\\n')。replace(/]*>/g,')首先将所有BR标记替换为:

 /<br\s?\/?>/g
/g
并删除其他:

 /<.*?\n?.*?>/g
/g
或者,如果您的标记可能比较复杂且多行(3行或更多):

/g
/]*>/g//如@Zze所建议的那样更快
因此:

yourString.replace(//g,“\n”).replace(//g,”);
注:更换:

 <br> <br/> <br /> and <br >





我将其分为两个replace语句,但在regex比我优秀的人可能会对此进行优化

/()/g
捕获html换行符

/]*>/g
捕获所有其他html标记及其内容

var字符串='eewer

ss-dffdf-df-sdf'; console.log(字符串); var newString=string.replace(/()/g,“\n”); newString=newString.replace(/]*>/g,“”);
console.log(新闻字符串)故事的继续,对吗?这个字符串是否在另一个HTML元素中(如
)?@RomanPerekhrest这是关于此字符串的另一个说明
eewer

sssome text dffdfdf df df sdf
?@RomanPerekhrest删除所有标记并br替换为\n@Andiskiy你满意吗?为什么
\\n
只是
\n
@ibrahimmahrir OP希望将其保留为“\n”,而不仅仅是打破界限。再次检查他的问题。@Andiski没有两个
.replace()
函数很容易,只要你将两种情况都更改为同一个元素,但是第一种情况是
\n
,第二种情况是
'
。正如ibrahim所提到的,它可以(可能)通过回调来完成,但它会使代码复杂化,并且比现在的代码要多得多。@Andiskiy我和KindUser在一起。两次
replace
调用最好将事情分开!非常感谢您可以不使用正则表达式吗?我们正在将BR标记替换为\n,而其他标记替换为“”。()捕获现有文本。
 yourString.replace( /<br\s\/?>/g , '\n' ).replace( /<.*?\n?.*?>/g ,'') ;
 <br> <br/> <br /> and <br >