2012-01-23 75 views
3

我想將一個正則表達式翻譯成一個可讀的解釋。誰有將RegExp翻譯成「自然語言」的算法?

例如:/^[a-z0-9_]{6,18}/將被轉換爲類似:

A string start with 6 to 18 char(s) in a range of a to z, 0 to 9 and _.

+0

什麼語言? –

+2

知道一些人在提出正則表達式時有多創造力,我不會屏住呼吸。 – NPE

+0

@aix True。但可能使用文檔工具,他們可能會寫出更好的表達式;)。 – Aphelion

回答

2

使用RegexBuddy(在我看來不過有償的最佳工具可用)的表達進行了說明如下:

// ^[a-z0-9_]{6,18} 
// 
// Options:^and $ match at line breaks 
// 
// Assert position at the beginning of a line (at beginning of the string or after a line break character) «^» 
// Match a single character present in the list below «[a-z0-9_]{6,18}» 
// Between 6 and 18 times, as many times as possible, giving back as needed (greedy) «{6,18}» 
// A character in the range between 「a」 and 「z」 «a-z» 
// A character in the range between 「0」 and 「9」 «0-9» 
// The character 「_」 «_» 

該工具還允許您選擇的文件,並顯示一條線你是正則表達式中的一部分。

Sample of the documentation feature