我正在编辑一些C#代码,并且需要将诸如nameof(somevar)之类的表达式更改为“ somevar”。 regexp可以使用吗?
下面是一个更好的示例:
我所拥有的:
None
我需要什么:
constructor(props) {
super(props)
this.state = {
isModalOpen: false,
modalProduct: undefined,
}
}
//****************************************************************************/
render() {
return (
<h4> Bag </h4>
{this.state.isModalOpen & (
<Modal
modalProduct={this.state.modalProduct}
closeModal={() => this.setState({ isModalOpen: false, modalProduct: undefined})
deleteProduct={ ... }
/>
)
{bag.products.map((product, index) => (
<div key={index}>
<div>{product.name}</div>
<div>£{product.price}</div>
<div>
<span> Quantity:{product.quantity} </span>
<button onClick={() => this.props.incrementQuantity(product, product.quantity += 1)}> + </button>
<button onClick={() => this.decrementQuantity(product)}> - </button> // <----
</div>
</div>
))}
)
}
//****************************************************************************/
decrementQuantity(product) {
if(product.quantity === 1) {
this.setState({ isModalOpen: true, modalProduct: product })
} else {
this.props.decrementQuantity(product)
}
}
答案 0 :(得分:1)
替换正则表达式:
nameof\(([^)]*)\)
作者:
"\1"
答案 1 :(得分:1)
这应该做到:
string s = "nameof(abc)";
Regex r = new Regex("nameof\\((.+?)\\)");
string output = r.Replace(s, "\"$1\"");
\(
搜索左括号(.+?)
创建一个组(即$1
),该组懒惰地(.
搜索一次或多次(+
)的任何字符(?
) )\)
搜索右括号