μ κ·ννμ μ±λ₯ ν₯μ ν
λ°μ΄ν° μ¨μ΄νμ°μ§μ ETL νλ‘μΈμ€λ λ°λμ νμνλ€. μ΄ κ³Όμ μμ λ°μ΄ν° ν΄λ μ§μ ν¬ν¨ν ν
μ€νΈ νλ‘μΈμ±μ μ§ννκ² λλλ°, μ κ·ννμμ μ΄ ν
μ€νΈ νλ‘μΈμ±μ ν΅μ¬ μμλ€ μ€ νλμ΄λ€. μΌλ°μ μΈ μν©μμ μ κ·ννμμ μλμ κ°μ ννλ‘ μ¬μ©νλ€.
var value = "abcdefg"; var pattern = @"^abc"; if (Regex.IsMatch(value, pattern)) { Console.WriteLine("Match found"); }
μμ μμ μ κ°μ΄ μ κ·ννμμ μ μ λ©μλμΈ Regex.Ismatch()μ ννλ‘ μ°μλ€. λ¬Όλ‘ μλμ κ°μ ννλ‘ μ°μΌ μλ μλ€.
var value = "abcdefg"; var pattern = @"^abc"; var regex = new Regex(pattern); if (regex.IsMatch(value)) { Console.WriteLine("Match found"); }
μμ μμ μ½λλ μ μ λ©μλμΈ Regex.IsMatch()λ₯Ό μ¬μ©νλ λμ Regex μΈμ€ν΄μ€λ₯Ό μ¬μ©νλ€. κ·Έλ λ€λ©΄ μ΄ λμ μ°¨μ΄λ 무μμΌκΉ? λ°λ‘ μ±λ₯μ μ°¨μ΄λΌκ³ ν μ μλ€. μ»΄νμΌ μμ μ μ΄λ―Έ μ κ·ννμ κ°μ²΄λ₯Ό ν¬ν¨νκ³ μλκ°, λ°νμ μμ μ κ·Έλκ·Έλ μ κ·ννμ κ°μ²΄λ₯Ό μ΄κΈ°ν μμΌ μ¬μ©νλκ°μ μ°¨μ΄λΌκ³ λ ν μ μλλ°, μΌλ°μ μΈ μ©λλ‘ μ¬μ©νλ€λ©΄ λ κ°μ§ λ°©λ²λ€ μ¬μ΄μλ ν° μ°¨μ΄κ° μλ€. νμ§λ§, λμ©λμ λ°μ΄ν°λ₯Ό μ²λ¦¬νλλ° μμ΄μλ μ‘°κ·Έλ§ν μ°¨μ΄κ° μμ²λ μ±λ₯μ ν₯μ νΉμ μ νλ₯Ό κ°μ Έμ¬ μ μλ€.
Regex.IsMatch() λ©μλλ μ μ λ©μλλ‘μ λ΄λΆμ μΌλ‘ μλμ κ°μ ννλ‘ κ΅¬νλλ€.
public static IsMatch(string input, string pattern) { var regex = new Regex(pattern); return regex.IsMatch(input); }
μ¦, μ μ λ©μλλ₯Ό νΈμΆν λλ§λ€ Regex μΈμ€ν΄μ€κ° λ§λ€μ΄μ§κ³ , μ°μ΄κ³ , μμ΄μ§κΈ°λ₯Ό λ°λ³΅νλ€. λ°λΌμ, λμΌν λ°λ³΅μμ
μ νλ κ²½μ° λμΌν Regex μΈμ€ν΄μ€λ₯Ό ν λ² λ§λ€μ΄λκ³ μ¬νμ©μ νλ€λ©΄ μμ²λ μ±λ₯μ ν₯μμ λ³Ό μ μλ€. http://www.dotnetperls.com/regex-performance μμλ μ»΄νμΌμ νκ² λλ€λ©΄ λλ΅ 30%μ μ±λ₯ ν₯μμ λνλΈλ€κ³ νλ€.
κ°λ°μλ€μ μΈκ³μμλ If you are doing something repeatedly, you are doing it wrong μ΄λΌλ κΈμΈμ΄ μλ€. μ¦, λκ° λμΌν μμ
μ λ°λ³΅μ μΌλ‘ νλ€λ©΄, 그건 λκ° μλͺ»λ κ²μ΄λΌλ κ²μ΄λ€. κ²°κ΅ κ·ΈλΆλΆμμ μ±λ₯ ν₯μμ κΎν μ μλ€λ λ§κ³Ό λμΌνλ€. μμ μ κ·ννμ μμ λ λ§μ°¬κ°μ§λ‘, λμΌν μ κ·ννμμ μ¬λ¬λ² μ¬μ©νλ€λ©΄, κ·Έκ²μ 미리 μ»΄νμΌμ ν΄λκ³ μ¬νμ©ν μ μκ²λ νλ κ²μ΄ μ±λ₯ ν₯μμ μ 리νλ€λ λ§κ³Ό λμΌνλ€.
http://stackoverflow.com/questions/5854063/how-to-optimize-regular-expression-performance
http://stackoverflow.com/questions/414328/using-static-regex-ismatch-vs-creating-an-instance-of-regex
http://www.dotnetperls.com/regex-performance
http://blogs.msdn.com/b/bclteam/archive/2010/06/25/optimizing-regular-expression-performance-part-i-working-with-the-regex-class-and-regex-objects.aspx
http://blogs.msdn.com/b/bclteam/archive/2010/08/03/optimizing-regular-expression-performance-part-ii-taking-charge-of-backtracking.aspx
http://blogs.msdn.com/b/bclteam/archive/2011/03/28/optimizing-regex-performance-part-3-ron-petrusha.aspx