MariaDB Regex仅替换第一个字符实例

时间:2016-11-07 11:40:40

标签: mysql regex mariadb

SELECT REGEXP_Replace('hello', '[l]', ''); 

如何编写正则表达式以仅替换'l'

的第一个实例

1 个答案:

答案 0 :(得分:3)

使用具有否定字符类和锚点的捕获组:

SELECT REGEXP_REPLACE('hello', '^([^l]*)l', '\\1'); 

请参阅regex demo

<强>详情:

  • ^ - 字符串开头
  • ([^l]*) - Capture group 1捕获l以外的0 +个字符
  • l - 刚刚匹配且未捕获的文字l

替换模式包含backreference \1,该{{3}} l引用第1组中包含的值,即任何l到第一个onAddToCart(id) { console.log('testing onaddtocart') this.props.dispatch({type: 'ADD_TO_CART', id: id}); } render() { var Packs = []; if (this.props.packsData != undefined && this.props.packsData.existingFoxtelPackage != undefined) { if (this.props.packsData.existingFoxtelPackage.eligiblePacks.length > 0) { Packs = this.props.packsData.existingFoxtelPackage.eligiblePacks; console.log('testing=Packs', Packs); } } return ( <div>hello from Packscontainer!!! <div> { Packs.map(pack => <Pack id={pack.id} name={pack.name} addToCart={this.onAddToCart.bind(this, pack.id)}/> )} </div> </div> ) }以外的文字