# ANN: RegularExpressions.jl

**URL:** <https://discourse.julialang.org/t/ann-regularexpressions-jl/21764>\
**Category:** Package Announcements\
**Created:** [March 12, 2019, 3:38am UTC](https://discourse.julialang.org/t/ann-regularexpressions-jl/21764 "2019-03-12T03:38:36Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![bramtayl](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/bramtayl/32/3614_2.png) [@bramtayl](https://discourse.julialang.org/u/bramtayl)\
**Post date:** [March 12, 2019, 3:38am UTC](https://discourse.julialang.org/t/ann-regularexpressions-jl/21764/1 "2019-03-12T03:38:36Z")

</div>

A [human readable API](https://bramtayl.github.io/RegularExpressions.jl/dev/) for regular expressions. Still missing a couple of trickier REGEX features (recursion, conditionals, call-backs), mostly because I don’t understand them (halp!).

---

<div class="post-metadata">

**Author:** ![kevbonham](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/kevbonham/32/216165_2.png) [@kevbonham](https://discourse.julialang.org/u/kevbonham)\
**Post date:** [March 12, 2019, 11:49am UTC](https://discourse.julialang.org/t/ann-regularexpressions-jl/21764/2 "2019-03-12T11:49:30Z")

</div>

I think I’ve been using regex too long - your example looks _less_ readable to me than `^(http(s?):\/\/)?(www\.)+[a-zA-Z0-9\.\-\_]+(\.[a-zA-Z]{2,3})+(\/[a-zA-Z0-9\_\-\s\.\/\?\%\#\&\=]*)?$`

What is wrong with me?!? 😆

But seriously, this looks pretty cool!

---

<div class="post-metadata">

**Author:** ![JeffreySarnoff](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jeffreysarnoff/32/1980_2.png) [@JeffreySarnoff](https://discourse.julialang.org/u/JeffreySarnoff)\
**Post date:** [March 16, 2019, 7:46am UTC](https://discourse.julialang.org/t/ann-regularexpressions-jl/21764/3 "2019-03-16T07:46:41Z")

</div>

I find the `rexegg` site helpful

> **[Conditional Regular Expressions—from 101 to Advanced](https://www.rexegg.com/regex-conditionals.html)**
>
> Conditional Regular Expressions tutorial. Explains the details of conditional regex syntax and presents useful applications.

> **[Recursive Regex—Tutorial](https://www.rexegg.com/regex-recursion.html)**
>
> About Recursive Regular Expressions. Advanced Regex Tutorial with examples and full tracing of the engine matches.

> **[PCRE Callouts](https://www.rexegg.com/pcre-callouts.html)**
>
> Describes callouts in PCRE and PCRE2. Includes code examples in C#.

---

<div class="post-metadata">

**Author:** ![bramtayl](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/bramtayl/32/3614_2.png) [@bramtayl](https://discourse.julialang.org/u/bramtayl)\
**Post date:** [April 15, 2019, 3:20pm UTC](https://discourse.julialang.org/t/ann-regularexpressions-jl/21764/4 "2019-04-15T15:20:33Z")

</div>

I believe the dev version now supports all features of PCRE2

---

<div class="post-metadata">

**Author:** ![chakravala](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/chakravala/32/6832_2.png) [@chakravala](https://discourse.julialang.org/u/chakravala)\
**Post date:** [April 15, 2019, 3:45pm UTC](https://discourse.julialang.org/t/ann-regularexpressions-jl/21764/5 "2019-04-15T15:45:47Z")

</div>

Nice project! Another website I found very helpful is [regex101.com](https://regex101.com/). What I like about it is the syntax highlighting and the interactive testing tools and information they have.

Would be cool if there was a display output in Julia for `regex` with colored syntax highlighting.

---

<div class="post-metadata">

**Author:** ![js135005](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/js135005/32/8219_2.png) [@js135005](https://discourse.julialang.org/u/js135005)\
**Post date:** [April 15, 2019, 5:23pm UTC](https://discourse.julialang.org/t/ann-regularexpressions-jl/21764/6 "2019-04-15T17:23:10Z")

</div>

Yes, I use [regex101.com](http://regex101.com) all the time to test that my regex’s actually work and to figure out the captures.
