Example Phones Queries
The following examples are available in Phon from the Phones query window as named queries.
Standalone Consonants
// Look-behind '(?<' and match beginning of input '^'
// followed by an optional stress marker '\s?'
(?<^\s?)
// Match a consonant '(\c)' followed by end of input '$'
(\c)$
Initial Singleton Consonants
// Look-behind '(?<' and match beginning of input '^'
// followed by an optional stress marker '\s?'
(?<^\s?)
// Match a consonant (\c)
(\c)
// Look-ahead '(?>' and match a vowel
(?>\v)
Medial Singleton Consonants
// Look-behind '(?<' and match a vowel '\v'
// followed by an optional stress marker '\s?'
(?<\v\s?)
// Match a consonant
(\c)
// Look-ahead '(?>' and match an optional stress maker and vowel
(?>\s?\v)
Final Singleton Consonants
// Look-behind '(?<' and match a vowel '\v'
(?<\v)
// Match a consonant '(\c)' followed by end of input '$'
(\c)$
Singleton Consonants
// The double pipe operator will combine results of independent expressions
// Standalone Consonants
(?<^\s?)(\c)$ ||
// Initial Consonants
(?<^\s?)(\c)(?>\v) ||
// Medial Consonants
(?<\v\s?)(\c)(?>\s?\v) ||
// Final Consonants
(?<\v)(\c)$
Singleton Onsets
// The double pipe operator will combine results of independent expressions
// Standalone Onsets
(?<^\s?)(\c:O:E)$ ||
// All other Singleton Onsets
(?<\S)(\c:O)(?>.N)
Singleton Codas
// The double pipe operator will combine results of independent expressions
// Medial Singleton Codas
(?<.:N)(\c:C)(?>\s? (\c:O | .:N)) ||
// Final Singleton Codas
(?<.:N)(\c:C)$
Initial Consonant Clusters
// Look-behind '(?<' and match beginning of input '^'
// followed by an optional stress marker '\s?'
(?<^\s?)
// Match a 2 or more consonants '(\c<2,>)'
(\c<2,>)
// Look-ahead '(?>' and match an optional stress marker '\s?' and vowel '\v'
(?>\s?\v)
Medial Consonant Clusters
// Look-behind '(?<' and match a vowel '\v'
// followed by an optional stress marker '\s?'
(?<\v\s?)
// Match a 2 or more consonants '(\c<2,>)'
(\c<2,>)
// Look-ahead '(?>' and match an optional stress marker '\s?' and vowel '\v'
(?>\s?\v)
Final Consonant Clusters
// Look-behind '(?<' and match a vowel '\v'
// followed by an optional stress marker '\s?'
(?<\v\s?)
// Match a 2 or more consonants '(\c<2,>)'
// followed by end of input '$'
(\c<2,>)$
Heterosyllabic Consonant Clusters
// match one or more consonants '\c+'
\c+
// followed by a syllable boundary '\S' (includes implicit boundaries)
\S
// followed by one or more consonants '\c+'
\c+
Consonant Clusters
// The double pipe operator will combine results of independent expressions
// Initial/medial Consonant Clusters
(\c<2,>)(?>\s?\v) ||
// Final Consonant Clusters
(\c<2,>)$ ||
// Heterosyllabic Clusters
(\c+[\s\.]\c+)
Syllable-initial Clusters
// Includes left appendices ':L', onsets ':O' and OEHS ':E'
(?<^\s?)(\c:L:O:E<2,>) ||
(?<\v\s?)(\c:L:O:E<2,>)
Syllable-final Clusters
// Includes right appendices ':R' and codas ':C'
(\c:C:R<2,>)$ ||
(\c:C:R<2,>)(?>\s?\c:O)
Tautosyllabic Consonant Clusters
^(\c:L:O:E<2,>) ||
(?<\v\s?)(\c:L:O:E<2,>) ||
(\c:C:R<2,>)$ ||
(\c:C:R<2,>)(?>\s?\c:O)
Syllables (short)
// Query all syllables, store each section in a named group
// Stress
(S=\s)?
// Onset
(O=\c:L:O<,5>)
// Rhyme
(R=
// Nucleus
(N=.:D<2> | .:N)
// Coda
(C=\c:C:R<,5>)
)
Syllables (expanded)
// Query all syllables, store each constituent in a named group
// Stress
(S=\s)?
// Onset
(O=
(O1=\c:L:O)(O2=\c:L:O)(O3=\c:L:O)(O4=\c:O)(O5=\c:O)
| (\c:L:O)(\c:L:O)(\c:O)(\c:O)
| (\c:L:O)(\c:O)(\c:O)
| (\c:O)(\c:O)
| (\c:O:E)
)?
// Rhyme
(R=
// Nucleus
(N=
(N1=.:D)(N2=.:D) | (.:N)
)
// Coda
(C=
(C1=\c:C)(C2=\c:C)(C3=\c:C:R)(C4=\c:C:R)(C5=\c:C:R)
| (\c:C)(\c:C)(\c:C:R)(\c:C:R)
| (\c:C)(\c:C)(\c:C:R)
| (\c:C)(\c:C)
| (\c:C)
)?
)