Regular Expression Everywhere

正規表示式在常見語言中的實作

@andy0130tw from NTUOSC; 2015/9/25

基本的實作不外乎

  • 評估 - 判定一個字串是否滿足
  • 尋找 - 找出符合條件的子字串
  • 取代 - 替換成另一段字串或樣板
  • 擷取 - 從符合的子字串把感興趣的部份切出來

PHP

PCRE標準的 `preg_*` 函數們

regex用字串來存,前後用分隔符

ex. $fl_array preg_grep("/^(\d+)?\.\d+$/"$array);

JavaScript

正規表示式是個物件

直接用 /.../ 寫,或用 RegExp 類別建構

字串和RegExp都有一些方法可以用

var regex = /[A-Z]/;
"asd".match(regex); // null
regex.exec("SoDoge"); // ["S"]

Python

小巧可愛的 import re;

 用字串建構 regex

或先用 re.compile(...) 編譯成物件,效能較佳

C++

C++竟然也有regex ?!?!

 

C++11: #include<regex>

好像有點開外掛...不過我沒試過

還有哪些語言?

我不一定會寫OAQ

歡迎大家提供

/The End/

Made with Slides.com