我有字符串中使用以下格式正則表達式和字符串操作
blah blah [user:1] ho ho [user:2] he he he
我希望它通過
blah blah <a href='1'>someFunctionCall(1)</a> ho ho <a href='2'>someFunctionCall(2)</a> he he he
更換所以兩件事更換[用戶:ID]和一個方法調用
注意:我想在groovy中做到這一點,那麼做什麼是有效的方法
我有字符串中使用以下格式正則表達式和字符串操作
blah blah [user:1] ho ho [user:2] he he he
我希望它通過
blah blah <a href='1'>someFunctionCall(1)</a> ho ho <a href='2'>someFunctionCall(2)</a> he he he
更換所以兩件事更換[用戶:ID]和一個方法調用
注意:我想在groovy中做到這一點,那麼做什麼是有效的方法
Groovy中,寶貝:
def someFunctionCall = { "someFunctionCall(${it})" }
assert "blah blah [user:1] ho ho [user:2] he he he"
.replaceAll(/\[user:(\d+)]/){ all, id ->
"<a href=\"${id}\">${someFunctionCall(id)}</a>"
} == "blah blah <a href=\"1\">someFunctionCall(1)</a> ho ho <a href=\"2\">someFunctionCall(2)</a> he he he"
我不知道常規,但在PHP這將是:
<?php
$string = 'blah blah [user:1] ho ho [user:2] he he he';
$pattern = '/(.*)\[user:(\d+)](.*)\[user:(\d+)](.*)/';
$replacement = '${1}<a href=\'${2}\'>someFunctionCall(${2})</a>${3}<a href=\'${4}\'>someFunctionCall(${4})</a>${5}';
echo preg_replace($pattern, $replacement, $string);
?>
能夠拿出來與你的感謝先前描述的解決方案 – user602865 2012-02-04 21:53:09