Initial regex-nav doc.
This commit is contained in:
parent
c259a60403
commit
fa762e809c
1 changed files with 32 additions and 0 deletions
|
|
@ -68,6 +68,7 @@ It is a convention in Specter that unparameterized navigators are capitalized, w
|
|||
- [pred>=](#pred>=)
|
||||
- [putval](#putval)
|
||||
- [not-selected?](#not-selected)
|
||||
- [regex-nav](#regex-nav)
|
||||
- [selected?](#selected)
|
||||
- [set-elem](#set-elem)
|
||||
- [srange](#srange)
|
||||
|
|
@ -993,6 +994,37 @@ See also [selected?](#selected?).
|
|||
nil
|
||||
```
|
||||
|
||||
## regex-nav
|
||||
|
||||
`(regex-nav regex)`
|
||||
|
||||
Uses `re-seq` for selects and `clojure.string/replace` for transforms.
|
||||
|
||||
```clojure
|
||||
=> (select (regex-nav #"t") "test")
|
||||
["t" "t"]
|
||||
=> (select [:a (regex-nav #"t")] {:a "test"})
|
||||
["t" "t"]
|
||||
=> (transform (regex-nav #"t") clojure.string/capitalize "test")
|
||||
"TesT"
|
||||
=> (transform [:a (regex-nav #"t")] clojure.string/capitalize {:a "test"})
|
||||
{:a "TesT"}
|
||||
=> (transform (regex-nav #"\s+\w") clojure.string/triml "Hello World!")
|
||||
"HelloWorld!"
|
||||
=> (setval (regex-nav #"t") "z" "test")
|
||||
"zesz"
|
||||
=> (setval [:a (regex-nav #"t")] "z" {:a "test"})
|
||||
{:a "zesz"}
|
||||
=> (transform (regex-nav #"aa*") (fn [s] (-> s count str)) "aadt")
|
||||
"2dt"
|
||||
=> (transform (regex-nav #"[Aa]+") (fn [s] (apply str (take (count s) (repeat "@")))) "Amsterdam Aardvarks")
|
||||
"@msterd@m @@rdv@rks"
|
||||
=> (select [(regex-nav #"(\S+):\ (\d+)") (nthpath 2)] "Mary: 1st George: 2nd Arthur: 3rd")
|
||||
["1" "2" "3"]
|
||||
=> (transform (subselect (regex-nav #"\d\w+")) reverse "Mary: 1st George: 2nd Arthur: 3rd")
|
||||
"Mary: 3rd George: 2nd Arthur: 1st"
|
||||
```
|
||||
|
||||
## selected?
|
||||
|
||||
`(selected? & path)`
|
||||
|
|
|
|||
Loading…
Reference in a new issue