添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

一、 repalce定义

用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。

1

2

3

4

5

stringObject.replace(regexp/substr,replacement);

参数一:必需,规定的字符串或者正则表达式

参数二:必需,一个字符串值。规定了替换文本或生成替换文本的函数。

!!!replacement 中的 $ 字符具有特定的含义。详情见W3C

二、有$1,$2...的例子

1

2

3

4

5

//把 "Doe, John" 转换为 "John Doe" 的形式:

var str = "Doe, John" ;

str.replace(/(\w+)\s*, \s*(\w+)/, "$2 $1" );

说明:$1,$2上就是按顺序对应小括号里面的小正则 捕获到的内容。

三,第二个参数是函数

1

2

3

4

5

6

7

8

9

10

11

12

把字符串中所有单词的首字母都转换为大写:

var str = 'aaa bbb ccc' ;

uw=str.replace(/\b\w+\b/g, function (word){

return word.substring(0,1).toUpperCase()+word.substring(1);}

);

说明:匹配一次就执行一次函数,匹配的内容作为参数

//把数字转成对应的汉子

var ary=[ "一" , "二" , "三" , "四" , "五" , "六" ]

"123456" .replace(/\d/g, function (val){

return ary[val-1]

})

四、一个栗子,实现模板字符替换

1

2

3

4

5

6

var obj = {

name: 'leaf' ,

age:20

}

var str = "我是{ {name}},name是我的名字,我今年{ {age}}岁" ;

//最终替换成"我是leaf,name是我的名字,我今年20岁"

1

2

3

function render(template, context) {

return template.replace(/\{\{(.*?)\}\}/g, (match, key) => context[key.trim()]);

}

1、.*? 非贪婪匹配模式

2、每个匹配的这则组合执行一次函数

五、其他常用正则替换

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

//去除空格

String.prototype.Trim = function() {

return this .replace(/\s+/g, "" );

}

//去除换行

function ClearBr(key) {

key = key.replace(/<\/?.+?>/g, "" );

key = key.replace(/[\r\n]/g, "" );

return key;

}

//去除左侧空格

function LTrim(str) {

return str.replace(/^\s*/g, "" );

}

//去右空格

function RTrim(str) {

return str.replace(/\s*$/g, "" );

}

//去掉字符串两端的空格

function trim(str) {

return str.replace(/(^\s*)|(\s*$)/g, "" );

}

//去除字符串中间空格

function CTim(str) {

return str.replace(/\s/g, '' );

}

//是否为由数字组成的字符串

function is_digitals(str) {

var reg=/^[0-9]*$/; //匹配整数

return reg.test(str);

}

//单词首字母大写
function uppperCase(str) {  
    return str.toLowerCase().replace(/( |^)[a-z]/g, (L) => L.toUpperCase());  

 正则匹配url:

 /^https?:\/\/(([a-zA-Z0-9_-])+(\.)?)*(:\d+)?(\/((\.)?(\?)?=?&?[a-zA-Z0-9_-](\?)?)*)*$/i

   (https?|ftp|file)://[-A-Za-z0-9+&@#/%?=~_|!:,.;]+[-A-Za-z0-9+&@#/%=~_|]

If you are using Qt5 then use QRegularExpression instead of QRegExp

instead of $1 you should use \1 (escaped so \\1)

一、repalce定义用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。 1 2 3 4 5 stringObject.replace(regexp/substr,replacement); 参数一:必需,规定的字符串或者正则表达式 参数二:必需,一个字符串值。规定了替换文本或生成替换文本的函数。 !!!replacement 中的 $ 字符具有特定的含义。详情见W3C .
$1、$2表达的是正则表达式小括号(即分组)的内容,$1是第一个小括号(分组)的匹配结果,$2是第二个小括号(分组)的匹配结果,以此类推。通常$1、$2用在替换操作。如下: 其文本是123-456-789,而正则表达式是(\d+)-(\d+)-(\d+),可以看到正则表达式有3对小括号(即分组),第一个分组匹配的是123,第二个分组匹配的是456,第三个分组匹配的是789,而在替换的$3-$1-$2的$1就是第一个分组的内容123、$2是第二个分组内容456、$3是第三个分组内容78
JavaScript正则实战(会根据最近写的不断更新) 1、javascript 正则对象替换创建 和用法: /pattern/flags 先简单案例学习认识下replace能干什么 正则表达式构造函数: new RegExp(“pattern”[,”flags”]); 正则表达式替换变量函数:stringObj.replace(RegExp,replace Text); 参数说明: pattern — 一个正则表达式文本 flags — 如果存在,将是以下值: g: 全局匹配 i: 忽略大小写 gi: 以上组合 //下面的例子用来获取url的两个参数,并返回urlRewrite之
var subStr=new RegExp('is');//创建正则表达式对象 var result=str.replace(subStr,"");//把'is'替换为空字符串 console.log(re... function chDate1date(str){ var reg =/(\d{4})\-(\d{2})\-(\d{2})/; return str.replace(reg,"$1年$2月$3日") chDate1date...
JavaScript正则表达式是一种特殊的文本字符串,用于验证和匹配其他字符串。正则表达式在字符串操作经常被用来进行文本搜索和替换。 在JavaScript,用于进行正则表达式操作的函数是replace()方法。replace()方法可以接受两个参数:第一个参数是正则表达式,第二个参数是替换字符串。这个方法首先搜索匹配正则表达式的字符串,然后用替换字符串替换它。 示例代码如下: let str = "I love JavaScript!"; let newStr = str.replace(/JavaScript/, "Python"); console.log(newStr); //输出"I love Python!" 在这个例子,我们使用replace()方法将字符串的"JavaScript"替换为"Python"。 如果想要使用replace()方法替换所有匹配的字符串,可以使用正则表达式的全局标志"g",例如: let str = "To be, or not to be, that is the question."; let newStr = str.replace(/be/g, "z"); console.log(newStr); //输出"To z, or not to z, that is the question." 在上面的例子,我们使用了正则表达式的全局标志"g",将字符串所有的"be"替换为"z"。 除了使用字符串作为替换值,replace()方法还可以接受一个函数作为第二个参数,用于动态生成替换值。这个函数会接收到一个匹配字符串作为参数,并且返回一个新的字符串作为替换值。例如: let str = "I have 3 apples and 2 oranges."; let newStr = str.replace(/\d+/g, function(match) { return parseInt(match) + 1; console.log(newStr); //输出"I have 4 apples and 3 oranges." 在上面的例子,我们使用正则表达式匹配字符串的数字,并将它们加1后作为新的替换值返回。
爱和九九: 现在编译没啥问题,发射好像也没啥问题?但是,RX这边报大错,caught in safe-call. in virtual rx_dsp_core_200_impl::~rx_dsp_core_200_impl() at /build/uhd-FRfZNJ/uhd-3.15.0.0/host/lib/usrp/cores/rx_dsp_core_200.cpp:81 this->clear(); -> RuntimeError: fifo ctrl timed out looking for acks [ERROR] [UHD] Exception caught in safe-call. in virtual rx_dsp_core_200_impl::~rx_dsp_core_200_impl() at /build/uhd-FRfZNJ/uhd-3.15.0.0/host/lib/usrp/cores/rx_dsp_core_200.cpp:81 this->clear(); -> RuntimeError: fifo ctrl timed out looking for acks [ERROR] [UHD] Exception caught in safe-call. in virtual usrp2_clock_ctrl_impl::~usrp2_clock_ctrl_impl() at /build/uhd-FRfZNJ/uhd-3.15.0.0/host/lib/usrp/usrp2/clock_ctrl.cpp:75 this->enable_external_ref(false); this->enable_rx_dboard_clock(false); this->enable_tx_dboard_clock(false); this->enable_dac_clock(false); this->enable_adc_clock(false); this->enable_mimo_clock_out(false); this->enable_test_clock(false); -> RuntimeError: fifo ctrl timed out looking for acks [ERROR] [UHD] Exception caught UHD C/C++ 编程实例 USRP发送、接收数据 爱和九九: 编译的时候没有UHD那个包,我好菜 UHD C/C++ 编程实例 USRP发送、接收数据 coco小虾米: 想问一下这个怎么确定收到的数据是接收到的数据 VL6180X距离、光线传感器上手体验 weixin_52263305: 请问博主这些资料可以分享一下吗?