JavaScript 中的正規表達式

JavaScript

簡介

歷史

開發工具

基本語法

運算式

分枝

迴圈

函數

陣列

物件導向

原型

封裝

繼承

多型

this

控制流程

進階功能

Eval 函數

Closure

JSONP

小書籤

字串

正規表達式

除錯方法

伺服端

播 midi

cookie

套件

ccc函式庫

2D 繪圖

3D 繪圖

影像處理

訊號處理

語音處理

數學計算

tex 數學式

格式轉換

桌面應用

自然語言

地理資訊

平台

Node.js

jQuery

Google

numeric.js

Titanium

引擎

語法

作品

翻譯精靈

繪圖精靈

DotWiki

流程

前端工程師

後端工程師

css

訊息

相關網站

參考文獻

最新修改

簡體版

English

程式範例

<html>
<body>
 
<script type="text/javascript">
document.write("<pre>\n");
String.prototype.trim = function() { return this.replace(/(^\s*)|(\s*$)/g, ""); }
document.write("' abc '.trim()=|"+' abc '.trim()+"|\n");
var re = new RegExp("\\d+", "gi");
var str = "name:john age:20 birthday:1990/8/31";
var m = null;
while (m = re.exec(str))
  document.write(m + "\n");
var p = parse(str);
document.write("p.name="+p.name+" age="+p.age+" year="+p.year+" month="+p.month+" day="+p.day);
document.write("</pre>\n");
 
function parse(data) {
    var e=new RegExp("name:(\\w+) age:(\\d+) birthday:(\\d+)/(\\d+)/(\\d+)", "gi");
 
    if (data.match(e)) {
        return  {exp: RegExp['$&'],
                name: RegExp.$1,
                age:RegExp.$2,
                year:RegExp.$3,
                month:RegExp.$4,
                day:RegExp.$5};
    }
    else {
        return null;
    }
}
</script>
 
</body>
</html>

執行結果

' abc '.trim()=|abc|
20
1990
8
31
p.name=john age=20 year=1990 month=8 day=31

參考文獻

  1. Wikipedia:Regular expression — http://en.wikipedia.org/wiki/Regular_expression
  2. 維基百科:正規表式 — http://zh.wikipedia.org/zh-tw/%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F
  3. 鳥哥的 Linux 私房菜:第十二章、正規表示法與文件格式化處理 — http://linux.vbird.org/linux_basic/0330regularex.php
  4. 石頭閒語:Regular Expression (RegExp) in JavaScript — http://blog.roodo.com/rocksaying/archives/2670695.html
  5. 字串樣版 Regexp: 兼談長線學習投資 — http://www.cyut.edu.tw/~ckhung/b/re/
  6. 在 C 程式中,使用 Regex (Regular Expression) library — http://blog.roodo.com/rocksaying/archives/3866523.html

Facebook

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License