There's always FParsec:
(F# code) Something like...

let InsideParens = pstring "(" >>. (manyChars (noneOf ")")) .>> pstring ")" 

will parse all characters between ( and ) but will not check if the enclosed 
characters also have balanced parentheses. For that you will need to change the 
parser state, I think, and keep a count of open / closed parens inside the 
state. 

http://www.quanttec.com/fparsec/

Note: I only bring this up since you seem to be working in .NET, although I am 
not sure how it helps you with J, and it is possibly overkill for whatever you 
are doing. 


--------------------------------------------
On Mon, 12/26/16, bill lam <[email protected]> wrote:

 Subject: Re: [Jprogramming] unmatched parenthesis
 To: [email protected]
 Date: Monday, December 26, 2016, 1:50 PM
 
 I found this page
 https://msdn.microsoft.com/en-us/library/bs2twtah.aspx
 
 c# regex has an extension
 called balanced group. But I still
 cannot
 find how to match unbalanced group.
 
 Вс, 25 дек 2016, Raul Miller
 написал(а):
 > For that case,
 I'd code it in J, first, so that I could be sure it
 > works, and then translate that
 implementation to C#.
 > 
 > I think regex is a red herring here,
 because (a) regular expressions
 > cannot
 handle parenthesis balancing by themselves, and (b) the
 regex
 > implementation which J uses does
 not have sufficient extensions to
 >
 overcome this difficulty. You could do it, with regex plus
 additional
 > wrapper code, but the
 resulting implementation would probably have
 > exponential performance problems in some
 cases.
 > 
 > Thanks,
 > 
 > -- 
 > Raul
 > 
 > 
 > On Sun, Dec 25, 2016
 at 11:43 AM, bill lam <[email protected]>
 wrote:
 > > In J602 windows front-end,
 it can high-light the unbalanced
 > >
 parenthesis, the example was taken from
 config/colorsmp.ijs
 > > using the
 JSample scheme.
 > >
 > > I think it should be efficient and
 not coded in J.
 > > An implementation
 in c/c# with regex would be appreciated.
 > >
 > > Вс, 25
 дек 2016, Raul Miller написал(а):
 > >> Formally speaking, no, not using
 pure regular expressions by themselves.
 >
 >>
 > >> That said, it is
 possible to write a program which uses regular
 > >> expressions and a stack-like data
 structure to parse balanced
 > >>
 parenthesis.
 > >>
 > >> That said, for this problem,
 something based on +/\-/'()'=/y would
 > >> probably be more sensible.
 > >>
 > >> Do
 you need an implementation?
 > >>
 > >> Thanks,
 >
 >>
 > >> --
 > >> Raul
 >
 >>
 > >>
 >
 >> On Sun, Dec 25, 2016 at 11:10 AM, bill lam <[email protected]>
 wrote:
 > >> > Season's
 Greetings!
 > >> >
 > >> > Is it possible to use regex
 to find the first index
 > >> >
 unmatched )(
 > >> >
 > >> > eg. for the line
 > >> > a + ((mno - rst) % b  NB.
 unmatched paren
 > >> > 
    ^
 > >> > 01234
 > >> >
 >
 >> >
 > >> > --
 > >> > regards,
 > >> >
 ====================================================
 > >> > GPG key 1024D/4434BAB3
 2008-08-24
 > >> > gpg
 --keyserver subkeys.pgp.net --recv-keys 4434BAB3
 > >> > gpg --keyserver
 subkeys.pgp.net --armor --export 4434BAB3
 > >> >
 ----------------------------------------------------------------------
 > >> > For information about J
 forums see http://www.jsoftware.com/forums.htm
 > >>
 ----------------------------------------------------------------------
 > >> For information about J forums
 see http://www.jsoftware.com/forums.htm
 >
 >
 > > --
 > >
 regards,
 > >
 ====================================================
 > > GPG key 1024D/4434BAB3 2008-08-24
 > > gpg --keyserver subkeys.pgp.net
 --recv-keys 4434BAB3
 > > gpg
 --keyserver subkeys.pgp.net --armor --export 4434BAB3
 > >
 ----------------------------------------------------------------------
 > > For information about J forums see http://www.jsoftware.com/forums.htm
 >
 ----------------------------------------------------------------------
 > For information about J forums see http://www.jsoftware.com/forums.htm
 
 -- 
 regards,
 ====================================================
 GPG key 1024D/4434BAB3 2008-08-24
 gpg --keyserver subkeys.pgp.net --recv-keys
 4434BAB3
 gpg --keyserver subkeys.pgp.net
 --armor --export 4434BAB3
 ----------------------------------------------------------------------
 For information about J forums see http://www.jsoftware.com/forums.htm
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to