图片前缀匹配 富文本中图片前缀匹配 [正则匹配]=====正则记录


1./file/aaa.png图片加前缀
// 图片是否要加前缀
/**
 * element plus 的文件大小 Formatter 实现
 *
 * @param val 图片路径
 */
 const imageUrl = (val: string) => {
  if (val == '' || val == undefined) {
    return val
  }
  const imageReg = /(http|https):\/\/([\w.]+\/?)\S*/
  const path = 'https://www.baidu.com'
  if (imageReg.test(val)) {
    return val
  } else {
    return path + val
  }
}
export default imageUrlVerify
2.富文本文件返回值 如果图片没有加http或者https 前缀 就手动给它添加
/src="(?![http])|(?![https])/  //【匹配正则】解释:匹配 src=" 后面,并断言它不以 http 或 https 开头

const path = 'https://www.baidu.com'

content =content.replace(/src="(?![http])|(?![https])/g, 'src="' +path );
匹配到需要调整的所有图片 给其加style
content = content.replace(/\<img/gi, '<img style="max-width:100%;height:auto" ');

map去重

let specMap = new Map()
specList.forEach(spec => {
  // 因为是统一价 只需要关注 num
  if (!specMap.has(spec.num)) {
   	specMap.set(spec.num, spec)
   }
 })
specList = [...specMap.values()] // 可以选的商品数量                                         
3.已知省市区详细地址,需要用正则拆分出省市区--详细地址
  const getProvice = ()=>{
 	  const address ='河南省襄城县王洛镇东村'  //江苏省昆山市周市镇东方村(36)腰娄96号
      const regex =  /.+?(省|市|自治区|自治州|县|区)/g //获取省市区
      const match = address.match(regex)
      const provice=match[0] // 省
      const city=match[1] //市
      const regex2 = new RegExp(`.+(${city})(.*)$`) //拿市后面的剩余地址正则
      // const otherAddress= address.slice(match[0].length+match[1].length)
      const addressAll = address.match(regex2)[2]
      console.log(provice,city,addressAll,'=======正则')
  }
如果你想从一段文本中使用 **正则表达式(regex)** 提取所有 `RELWORD=` 后面的内容(如 `知我`),可以使用 Python 的 `re` 模块来实现。 --- ## ✅ 示例文本 ```text RELWORD=知我 SNUM=101968 RNUM=1000 TYPE=0 RELWORD=喜欢你 G.E.M. 邓紫棋 SNUM=104692 RNUM=1000 TYPE=0 RELWORD=喜欢你 黄家驹 ``` --- ## ✅ 正则表达式解析 `RELWORD=...` 我们可以使用如下正则表达式来提取所有 `RELWORD=` 后面的内容: ```python import re text = """RELWORD=知我 SNUM=101968 RNUM=1000 TYPE=0 RELWORD=喜欢你 G.E.M. 邓紫棋 SNUM=104692 RNUM=1000 TYPE=0 RELWORD=喜欢你 黄家驹""" # 正则表达式:匹配以 RELWORD= 开头的行,并捕获等号后的内容 pattern = r'RELWORD=(.+)' # 使用 re.findall 查找所有匹配项 relwords = re.findall(pattern, text) # 输出结果 for i, word in enumerate(relwords, 1): print(f"{i}. {word.strip()}") ``` --- ## ✅ 输出结果 ``` 1. 知我 2. 喜欢你 G.E.M. 邓紫棋 3. 喜欢你 黄家驹 ``` --- ## ✅ 正则说明 - `RELWORD=`:匹配固定前缀。 - `(.+)`:捕获任意字符(除换行符外)一个或多个,表示等号后的内容。 - `re.findall()`:返回所有匹配的结果,每项是一个字符串。 --- ## ✅ 可选增强:匹配跨行内容(如果 RELWORD 的值包含换行) 如果你的数据中 `RELWORD` 的值可能跨越多行(例如: ``` RELWORD=这是一个 很长的关键词列表 SNUM=123 ``` 你需要使用 `re.DOTALL` 标志: ```python relwords = re.findall(r'RELWORD=(.+?)(?=\n\S+=|\Z)', text, re.DOTALL) ``` 这个正则匹配直到下一个字段(如 `SNUM=`)或字符串结尾。 --- ##
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值